不要与SVN进行差异合并

时间:2011-09-12 10:53:26

标签: svn shell version-control

我希望得到我在功能分支上所做的所有更改的差异。

目前我使用

svn log --stop-on-copy | awk '/^r.+NAME/{print $1}' | xargs -l svn diff -c > code.diff

不幸的是,这包括将trunk合并到我的分支并使差异混乱的修订版。有没有办法让svn登录到skipp合并或让diff来忽略它们?

1 个答案:

答案 0 :(得分:2)

只要您将所有修订版从trunk合并到您的分支中,您就可以区分trunk的两个树(上次合并的修订版)和分支(head)

一些ascii艺术要澄清:

                      r6            r9     r11
              --------+-------------+------O-->  branch
             / (1)   / (2)    (3)  /(4)
 trunk -----+-------+--------O----+----------O------>
           r4      r6       r7   r9          r12

(1)你开始分支

(2)您将中继与来自中继的所有提交同步

(3)这是对trunk的提交

(4)你必须合并(3)的提交(所以没有在主干中缺少未合并到分支的修订版)

然后您可以使用主干:diff 分支:r11 :r9

请注意,您不能使用trunk:HEAD进行区分,因为将显示trunk r12的更改。

这正是reintegrate merge的工作方式。