あるブランチを別のブランチと比較するにはどうすればよいですか?ブランチをトランクの最新リビジョンと比較したいと思います。
7 に答える
あなたはで始めることができます:
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」プロパティの変更を回避することなく、これが事実であることを自分自身に証明することができました。
情報提供者に感謝します。diff結果の読みやすさを向上させるために何かを追加します。使用した場合:svn diff svn:// url:9090 / branchs / PRD_0002 svn:// url:9090 / branchs /TST_0003>svn_diff_filename。 TXT
次を使用できます:findstr "Index:" C:\ path \ svn_diff_filename.txt> svn_diff_file_list.txt
これにより、違いのあるファイルの読み取り可能なリストが表示されます。
これは、 MurrayCummingからの非自明なプロセスを説明する投稿です。
- リビジョン番号を確認する:各ブランチの最新バージョンのリビジョン番号を知る必要があります。svnlogがそれを行う唯一の方法のようです。
- トランクなどのブランチディレクトリの1つにcdします。
- svndiffコマンドにリビジョン番号を指定します。
svn diff -r123:145
ブランチの2つのリビジョンを比較するには:
svn diff -r rLATEST:rOLD
svn log
さまざまなリビジョンを取得するために使用します。を使用すると、を使用してログ内のリビジョンの数を制限できますsvn log -l 5
。最後の5つのリビジョンのみが表示されます。