hg annotate -unl aFile
演出:
jim 1519:477: a = 4
bob 1518:468: b = 5
joe 1496:402: return a
如何让它显示
jim 401: a = 4
bob 402: b = 5
joe 403: return a
其中
401, 402, 403
是 当前 行号。更好的是像 git 那样的 git blame -L 401,403 aFile
。
显示当前行号:
hg annotate -u aFile | cat -n
也仅选择特定范围的行号:
hg annotate -u aFile | cat -n | sed -n 401,403p
我总是使用
hg serve
或 TortoiseHg 中的注释视图。我发现命令行注释非常差,因为我无法快速跳转到父版本。 hgweb 注释可以在这里看到:
它包括(当前)行号。
hg blame <file name> | grep -A10 -B10 "<piece of code from the line of interest>
上面的命令会对整个文件执行blame并返回blame内容。这样,grep 命令就会返回所需的指责行。但是,我的文件大小更大(例如:80,000 行)。为了获取单行的作者详细信息,此命令检索整个 80,000 行的指责内容并 grep 所需的行。这可行吗?
供您参考,在 80,000 行的文件中获取第 20 行的作者姓名大约需要 分钟。是否有任何标志或其他命令来获取给定行的注释内容。
示例: gitblame --line-porcelain -L 10,20 --