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
おり、ファイルのすべての行に、変更されたときのリビジョン番号が表示されます。