2

ブランチをトランクと同期しようとしたときに、興味深い問題が見つかりました。

  1. r17964で「svn cp」コマンドでトランクからブランチAを作成しました。

    svn log --stop-on-copy
    ------------------------------------------------------------------------
    r17964 | MYID | 2012-11-06 08:58:26 -0600 (Tue, 06 Nov 2012) | 2 lines
    JIRA-4749: added Sonar into Maven build.
    
  2. rev17965-17966で「svn cp」コマンドでトランクからブランチBを作成しました。

    $ svn log --stop-on-copy
    ------------------------------------------------------------------------
    r17966 | MYID | 2012-11-06 13:38:42 -0600 (Tue, 06 Nov 2012) | 2 lines
    JIRA-4750: added condor soap module back to the trunk.
    
  3. ブランチ B からの変更をトランクにマージしました。

    ------------------------------------------------------------------------
    r17967 | MYID | 2012-11-06 14:24:06 -0600 (Tue, 06 Nov 2012) | 2 lines
    JIRA-4750: merged back to the trunk.
    

ここで、ブランチ B で行われた変更をトランクからブランチ A にプルしようとします。ただし、「svn log --stop-on-copy」では、実際にはトランクにあるブランチ A で行われた変更は表示されません。

svn log --stop-on-copy
------------------------------------------------------------------------
r17964 | MYID | 2012-11-06 08:58:26 -0600 (Tue, 06 Nov 2012) | 2 lines
JIRA-4749: added Sonar into Maven build.

変更を成功させるにはどうすればよいですか? ありがとう。

4

1 に答える 1

2

ブランチ「A」がトランクの一部であるというあなたの論理には従いません。ブランチを作成すると、それは独自の独立したエンティティになります。どこから分岐したかしかわかりません。

ブランチ「B」からの変更の昇格後、ブランチ「A」はそれらの変更を認識していません。

あなたが望むのは、「トランク」からブランチ「A」への変更をマージすることだと思います。これにより、最新の変更がすべてトランクに組み込まれて「A」ブランチが更新されます。

差分だけを探している場合は、svn diffコマンドを使用してください。

于 2012-11-06T22:18:45.280 に答える