在Mercurial中找到代码行的作者


114

我如何找出谁负责特定的代码行?我知道行号和文件名,但我希望Mercurial告诉我该特定代码行的作者。有命令吗?

Answers:


123

在命令行上,您想使用hg annotate -u-u可以与结合使用-n以获得本地修订号,这可能会很有用)。检查hg help anno更多选项。


1
我相信这源于SVN。
沃伦·P

2
CVS称之为annotate。在SVN,初级为命令是blame,虽然annotatepraise可作为别名。
2013年

6
需要说明的是:这显示了谁是最后编辑该行的人,而不一定是最初创建它的人。
DanMan

35

我是的粉丝"svn blame",所以添加到了~/.hgrc

[alias]
blame = annotate --user --number

所以我可以只输入"hg blame";-)


9
据我所知,BTW hg blame是默认命令。我不知道这是否是最近的,但是它在那里。当我查看帮助文件中的注释时引起了我的注意,该文件显示别名“怪”;)
Tovi7 2012年

4
Tovi7:我在2008年2月添加了它,因此它是1.0中的第一个。hg.intevation.org/mercurial/crew/rev/07f2236c4dee
djc 2012年

16

如果您使用的是TortoiseHG

hgtk annotate <filename>

或者通过在日志中找到文件,右键单击该文件,然后选择“注释文件”


5
这是thg annotate <filename>现在
兰迪Syring

2
“注释文件”是带有#符号的按钮。
Steve Pitchers 2014年

9

我在Tortoise Workbench中寻找了很长时间。感谢@artemb和@Steve Pitchers为我指出了正确的方向。还是花了我一段时间才发现它。

在此处输入图片说明


1
要进入显示单个存储库文件的左侧视图,请按下左上角显示的小按钮,该按钮通常位于更改文件所在的位置。然后将鼠标悬停在每行的数字上方,并在底部看方式以在状态栏中查看作者。
Noumenon


4

在命令行上,可以使用hg blame或hg注释。

$ hg blame -u -c -l Filename

-u --user                list the author (long with -v)
-c --changeset           list the changeset
-l --line-number         show line number at the first appearance
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.