あるブランチを別のブランチと比較するにはどうすればよいですか?ブランチをトランクの最新リビジョンと比較したい。
次から始めることができます:
svn diff http://REPOS/trunk http://REPOS/branches/B
(どこ http://REPOS
は、trunk
およびbranches
の親を含むリポジトリパスです。
これにより、テキストのすべての変更を含む大量のテキストが印刷されますが、発生した場所と時間を示す以外のバイナリの変更は含まれません。
異なるファイルの高レベルを探しているだけで、すべての内容を表示したくない場合は、次を使用します。
svn diff ^/trunk ^/branches/dev --summarize
(これはトランクと開発ブランチを比較します)
通常、2つのブランチ(またはブランチとトランク)をディレクトリにチェックアウトします。次に、Kompareなどのグラフィカルツールを使用します(好み、オペレーティングシステムなどによって異なります)。これは、複雑なマージを実行する必要がある場合に非常に役立ちます。
評判がないからといって、これを既存の回答に対するコメントとして追加できないので、別の回答として追加する必要があります。
私にとってsvn diff
の便利なオプションは--ignore-properties
でした。私の2つのブランチは、コードの点では同じですが、マージ履歴が異なります。
--ignore-properties
を使用することで、大量の "svn:mergeinfo"プロパティの変更をせずに、これが事実であることを自分に証明することができました。
ドキュメントはこちらsvn diff
コマンド。
情報を提供してくれた人たちに感謝します。diffの結果の読みやすさを改善するために何かを追加します。 txt
次を使用できます。findstr "Index:" C:\ path\svn_diff_filename.txt> svn_diff_file_list.txt
これにより、違いのあるファイルの読み取り可能なリストが表示されます。
Murray Cummingからの投稿 は、非自明なプロセスを説明しています。
svn diff -r123:145
ブランチの2つのリビジョンを比較するには:
svn diff -r rLATEST:rOLD
svn log
を使用して、さまざまなリビジョンを取得します。 svn log -l 5
を使用して、ログ内のリビジョンの数を制限できます。最後の5つのリビジョンのみが表示されます。