Is there any way to svn diff or svn merge across multiple non-sequential revisions at once?
So in SVN you can do things like:
svn merge -r555:558
svn diff -c551
but (as far as I know) there is no way to do:
svn merge -r555:558, 592:594
svn diff -c551, 557, 563
For merges you can always just do several commands in sequence:
svn merge -r555:558
svn merge -r592:594
but for diffs doing that will just result in multiple diffs (and it's a little sub-optimal for merges too, as you can get conflicts from things that might just be removed in later revisions).
So, my question is ..开发者_运维知识库. is there any way, using either SVN itself or SVN combined with Linux commands, to do a true, no-sequential, multi-revision diff and/or merge?
You can merge multiple revisions in one command (at least in 1.6):
svn merge -c 551, 557, 563
svn merge -r 555:558 -r 592:594
however svn diff does not seem to support multiple non-sequential revisions.
To get a cumulative patch, you can get the diffs individually and then use combine-diff to merge them together one-by-one. It's not ideal, but you could write a script to automate the process.
精彩评论