在Mercurial中查找一行代码的作者

Dan*_*l O 111 mercurial

如何找出谁负责特定的代码行?我知道亚麻和文件名,但我希望Mercurial告诉我那段特定代码的作者.那是否有命令?

djc*_*djc 121

在命令行上,您需要使用hg annotate -u(-u可以结合使用-n以获取本地修订号,这可能会有用).检查hg help anno更多选项.

  • 澄清一下:这表明谁是_edit_行的最后一行,不一定是最初创建它的人. (6认同)
  • CVS称之为"注释".在SVN中,命令的主要部分是"blame",尽管`annotate`和`praise`可用作别名. (2认同)

Chr*_*ler 35

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

[alias]
blame = annotate --user --number
Run Code Online (Sandbox Code Playgroud)

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

  • 据我所知,BTW hg blame是一个默认命令.我不知道它是否只是最近的,但它就在那里.在我查看注释的帮助文件时引起了我的注意,其中显示了别名"blame";) (8认同)
  • Tovi7:我在2008年2月添加了它,所以它是1.0中的第一个.http://hg.intevation.org/mercurial/crew/rev/07f2236c4dee (4认同)

art*_*emb 16

如果您使用的是TortoiseHG

hgtk annotate <filename>
Run Code Online (Sandbox Code Playgroud)

或者通过在日志中找到该文件,右键单击它并选择"注释文件"

  • 现在是"thnot annotate <filename>" (5认同)
  • "注释文件"是带有#符号的按钮. (2认同)

per*_*ing 9

我在Tortoise Workbench看了很久; 感谢@artemb和@Steve Pitchers指出我正确的方向.还是花了一段时间来发现它.

在此输入图像描述


pri*_*e23 9

在tortoisehg注释窗口中,有一个新的上下文菜单来启用它.

请参阅https://bitbucket.org/tortoisehg/thg/issues/1861/annotate-window-annotate-with-authors 在此输入图像描述


Nay*_*gam 5

在命令行上,您可以使用 hg blame 或 hg annotate。

$ 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
Run Code Online (Sandbox Code Playgroud)