我很好奇是否有可能以使用 Mercurial 的行自动发生的方式查看文件的更改...
具体案例:在过去的某个时间,几个月前,我们的代码中的一行(文件:MainWindow.cpp 第 219 行)被某人更改,没有人记得之前的时间和内容,我们只知道这些东西我们现在不工作:(我们想看看为什么(最重要的是什么时候)会发生这种变化。手动浏览数千个提交不是一种选择:(
谢谢。
我很好奇是否有可能以使用 Mercurial 的行自动发生的方式查看文件的更改...
具体案例:在过去的某个时间,几个月前,我们的代码中的一行(文件:MainWindow.cpp 第 219 行)被某人更改,没有人记得之前的时间和内容,我们只知道这些东西我们现在不工作:(我们想看看为什么(最重要的是什么时候)会发生这种变化。手动浏览数千个提交不是一种选择:(
谢谢。
是的,您可以使用hg annotate
,并且注释的默认输出将显示您上次更改 sting 时的修订版本
hg ann functions.php
0: <?php
0:
0: if ( ! isset( $content_width ) ) $content_width = 550;
0:
3: add_theme_support('automatic-feed-links');
6: add_theme_support('custom-background');
...
(第一列是修订号)。使用 -d 选项,您可以将修订日期添加到输出
hg ann -d -n functions.php
0 Sat Aug 06 01:13:35 2011 +0600: <?php
0 Sat Aug 06 01:13:35 2011 +0600:
0 Sat Aug 06 01:13:35 2011 +0600: if ( ! isset( $content_width ) ) $content_width = 550;
0 Sat Aug 06 01:13:35 2011 +0600:
3 Wed Dec 14 04:01:33 2011 +0600: add_theme_support('automatic-feed-links');
6 Sun Jun 24 15:20:24 2012 +0600: add_theme_support('custom-background');
使用修订号(仅),您可以查看处于此修订状态的文件:hg cat -r N <filename>
但是,如果您想查看相关字符串的所有更改历史记录(并且您有一些当前或历史内容,而不仅仅是数字),您可以使用hg grep
尝试:
hg annotate MainWindow.cpp
它类似于svn blame
, 并显示文件的所有行以及更改时的修订号。