mac*_*ost 14 svn diff merge revisions
所以在SVN你可以做以下事情:
svn merge -r555:558
svn diff -c551
Run Code Online (Sandbox Code Playgroud)
但是(据我所知),没有办法:
svn merge -r555:558, 592:594
svn diff -c551, 557, 563
Run Code Online (Sandbox Code Playgroud)
对于合并,您始终可以按顺序执行多个命令:
svn merge -r555:558
svn merge -r592:594
Run Code Online (Sandbox Code Playgroud)
但是对于差异这样做只会导致多个差异(对于合并来说它也有点次优,因为你可以从以后版本中可能被删除的东西中获得冲突).
所以,我的问题是......有没有办法,使用SVN本身或SVN结合Linux命令,做一个真正的,无顺序的,多修订版差异和/或合并?
Ed *_*ner 19
您可以在一个命令中合并多个修订(至少在1.6中):
svn merge -c 551, 557, 563
svn merge -r 555:558 -r 592:594
Run Code Online (Sandbox Code Playgroud)
但是svn diff似乎不支持多个非顺序修订.
要获得累积补丁,您可以单独获取差异,然后使用combine-diff将它们逐个合并在一起.这不是理想的,但您可以编写一个脚本来自动化该过程.