我如何找出谁对特定的代码行负责?我知道行号和文件名,但是我希望 Mercurial 能够告诉我那一行代码的作者。有命令吗?
如果您正在使用 TortoiseHG
hgtk annotate <filename>
或者在日志中找到该文件,右键单击它并选择“ Annotate file”
在命令行上,您希望使用 hg annotate -u(-u可以与 -n组合以获得本地修订号,这可能会很有用)。有关更多选项,请检查 hg help anno。
hg annotate -u
-u
-n
hg help anno
我是 "svn blame"的粉丝,所以我在我的 ~/.hgrc中加入了:
"svn blame"
~/.hgrc
[alias] blame = annotate --user --number
所以我可以输入 "hg blame"; -)
"hg blame"
我在 Tortoise Workbench 中找了很久; 感谢@artemb 和@Steve Pitchers 为我指明了正确的方向。我还是花了点时间才发现。
在 tortoisehg 注释窗口中,有一个新的上下文菜单来启用此功能。
请参阅 href = “ https://bitbucket. org/tortoisehg/thg/questions/1861/annotate-window-annotate-with-author”rel = “ noReferrer”> https://bitbucket.org/tortoisehg/thg/issues/1861/annotate-window-annotate-with-authors
在命令行上,您可以使用 hg fault 或 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
你也可以试试:
hg blame <file name> | grep -A10 -B10 "<piece of code from the line of interest>"
It will show who made the change to the line, including 10 lines above and 10 lines below the line you are interested in.