“svn log --stop-on-copy”未能在分支创建的版本之后显示对修订的更改

时间:2012-11-06 21:38:52

标签: svn merge branch

我尝试将分支与主干同步时发现了一个有趣的问题。

  1. 我通过“svn cp”命令用r17964在主干上创建了分支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. 我通过“svn cp”命令使用rev17965-17966在主干上创建了分支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.
    
  4. 现在我尝试将分支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.
    

    如何取消更改?感谢。

1 个答案:

答案 0 :(得分:2)

我不遵循你的逻辑,分支“A”是主干的一部分。创建分支后,它就是自己的独立实体。它只知道它从何处分支。

从分支“B”分支推广变更后,“A”不知道这些变化。

我认为你想要的是merge从“主干”到分支“A”的变化。这将更新“A”分支,并将所有最新更改合并到主干中。

如果您只是在寻找差异,请使用svn diff命令。