我希望得到我在功能分支上所做的所有更改的差异。
目前我使用
svn log --stop-on-copy | awk '/^r.+NAME/{print $1}' | xargs -l svn diff -c > code.diff
不幸的是,这包括将trunk合并到我的分支并使差异混乱的修订版。有没有办法让svn登录到skipp合并或让diff来忽略它们?
答案 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的工作方式。