Mercurial:注释/责怪当前行号

问题描述 投票:0回答:3
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

mercurial
3个回答
10
投票

显示当前行号:

hg annotate -u aFile | cat -n

也仅选择特定范围的行号:

hg annotate -u aFile | cat -n | sed -n 401,403p

2
投票

我总是使用

hg serve
或 TortoiseHg 中的注释视图。我发现命令行注释非常差,因为我无法快速跳转到父版本。 hgweb 注释可以在这里看到:

它包括(当前)行号。


0
投票

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 --

© www.soinside.com 2019 - 2024. All rights reserved.