14

因此,在 SVN 中,您可以执行以下操作:

svn merge -r555:558
svn diff -c551

但是(据我所知)没有办法:

svn merge -r555:558, 592:594
svn diff -c551, 557, 563

对于合并,您总是可以按顺序执行几个命令:

svn merge -r555:558
svn merge -r592:594

但是对于差异,这样做只会导致多个差异(并且对于合并来说也有点不理想,因为您可能会从可能在以后的修订中删除的东西中获得冲突)。

所以,我的问题是......有什么办法,使用 SVN 本身或 SVN 与 Linux 命令相结合,来做一个真正的、无顺序的、多修订的差异和/或合并?

4

1 回答 1

19

您可以在一个命令中合并多个修订版(至少在 1.6 中):

svn merge -c 551, 557, 563
svn merge -r 555:558 -r 592:594

但是 svn diff 似乎不支持多个非顺序修订。

要获得累积补丁,您可以单独获取差异,然后使用 combine-diff 将它们一个接一个地合并在一起。这并不理想,但您可以编写一个脚本来自动化该过程。

于 2010-05-25T15:36:31.693 回答