所以在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命令,做一个真正的,无顺序的,多修订版差异和/或合并?
答案 0 :(得分:19)
您可以在一个命令中合并多个修订版(至少在1.6中):
svn merge -c 551, 557, 563
svn merge -r 555:558 -r 592:594
然而,svn diff似乎不支持多个非顺序修订。
要获得累积补丁,您可以单独获取差异,然后使用combine-diff将它们逐个合并在一起。它并不理想,但您可以编写一个脚本来自动化该过程。