1

Similar to How to view changes made to files on a certain revision in Subversion but I'd like to be able to view multiple revisions that are not contiguous.

For example, I know that I can do this:

$ svn diff -r 12345:12350

And I'll get the diff between r12345 and 12350 without any of the intervening stuff cluttering the way. It will all be in there, but if there were 500 changes and then 500 more changes to undo-those, then the aggregate diff will be empty.

What I'd like to be able to do is this, or something like it:

$ svn diff -c 12345 -c 12350 -c 14567 -c 67899

And see all 4 revision diffs merged together into a single diff.

Is that possible?

Subversion does not support the syntax I have shown above, complaining:

svn: E205000: Multiple revision arguments encountered; can't specify -c twice, or both -c and -r

I can do this the long way, of course, by checking-out r12345, then selectively-applying the other revisions and then doing an "svn diff". Is there a more convenient way?

Christopher Schultz
  • 20,221
  • 9
  • 60
  • 77
  • 1
    I see that there is a nearly identical question with some good feedback on it. I didn't notice this question when I originally posted mine, so I'm voting to close my own question. – Christopher Schultz Nov 12 '22 at 14:59

1 Answers1

0

No, you can't use more than 2 parameters in diff

But you can try (just dirty idea, I have not SVN for test) to create temp-branch (with svn copy URl->URL style into single location, TBT!!!) from these 4 revisions and svn diff resulting range

Lazy Badger
  • 94,711
  • 9
  • 78
  • 110
  • 1
    I used `svn checkout && svn merge -c && svn merge -c && svn merge -c ...` just as I suggested in the original question to solve the immediate need. No need for `ssvn copy` or anything that modifies the repository. – Christopher Schultz Nov 12 '22 at 14:56