2011-01-25 16 views
3

簡単な質問をしてください。 2つのSubversionブランチをマージする最良の方法は何ですか?私は支店名に2011-01-17Subversionブランチをマージする

3661をブランチ名3661をマージしたい

16658

2011-01-17のリビジョンコードは、私はあなたが探しているかわからないんだけど16613

+0

唯一の重要なリビジョン番号は、ブランチが作成されたリビジョンです。リビジョンコードの意味ですか? – Rup

+0

リビジョンコードはコミットリビジョンです。 – halfcube

答えて

7

は、これは私が(私は、コマンドラインを使用)する方法です

ブランチが出力から最小のリビジョンを取り、この

svn log --verbose --stop-on-copy http://url/to/branch/3661 

のように作成されたときに(1)3661のリビジョンを取得します。 911

(2)最新のブランチ2011-01-17をチェックし、これをメインディレクトリで実行してみましょう。これにより、すべての競合と更新が表示されますが、何もしません。

svn merge --dry-run -r 911:HEAD http://url/to/branch/3661 

(3)あなたは何もまだサーバにコミットされていない

svn merge -r 911:HEAD http://url/to/branch/3661 

実際のマージを行う変更にOKしている場合。ローカルコピーがマージされただけです。競合するファイルをすべて修正したい場合があります。

(4)あなたは、サーバー上のマージを持続したい場合は、うまくいけば、このことができます。この

svn commit -m "Merged 3661 changes into 2011-01-17" 

を行うことによって変更されたファイルをコミットします。赤い本のこの章を参照してください。http://svnbook.red-bean.com/en/1.0/ch04s04.html

また、コマンドラインSVNクライアントが必要です。 SubversionのWebサイトからダウンロードできます

+0

1つのGOTCHA。ブランチ "3661"でTortoise "rename"を実行した場合、--stop-on-copyはこれに戻ります。名前変更(カメで)実際にはコピーして削除すると思います。私はこれを難しい方法で学んだ。 :< – granadaCoder

4

の改訂コードを持っていますここの答えで。私はthe SVN bookのコンサルティングをお勧めします。もしあなたが特定の問題を抱えているなら、別の質問としてそれに戻ってください。

関連する問題