7

我有一个包含数千行代码的 CSS 文件。我想查看何时更改了特定的代码行/代码块,而无需返回并查看更改此文件的每个修订版(这将花费很长时间!)

有没有办法使用 TortoiseHg、带有 Mercurial 插件的 Eclipse 或命令行来查看特定代码的历史记录?

4

4 回答 4

20

正确答案是hg grepMercurial grep page)。

更深:

hg grep --all "PATTERN" FILENAME

样本输出:

>hg grep --all "textdomain" functions.php
functions.php:2:-:load_theme_textdomain('fiver', get_template_directory() . '/translation');
functions.php:2:+:load_theme_textdomain('fiver', get_template_directory() . '/languages');
functions.php:1:+:load_theme_textdomain('fiver', get_template_directory() . '/translation');

(按顺序 - 此修订版中的文件名、修订版、操作、字符串)

于 2012-11-25T09:52:55.390 回答
13

您可以使用:

hg annotate <file>

找出哪个修订行被更改,然后-r <revision>在最后使用相同的命令以向后浏览修订。

于 2012-11-25T09:05:52.313 回答
1

我认为没有选项可以查看文件的特定部分。但是要查看多个修订版的总文件的差异,您可以使用hg diff

hg diff -r firstrevisionnumber:otherrevnumber filename

例如,hg diff -r 0:8 screen.css

或命令hg log screen.css

于 2012-11-25T08:55:42.577 回答
0

使用hg histgrep --all PATTERN FILENAME(以前hg grep在旧版本中,现在不再适用)

于 2021-03-24T04:35:11.523 回答