On Wed, Aug 29, 2012 at 7:51 AM, Ryan Schmidt <subversion-20...@ryandesign.com> wrote: > > On Aug 28, 2012, at 17:56, Q. Chap <quitec...@gmx.com> wrote: > >> >>>> >>>> What command(s) should I use to bring in the "libcomplex/2.0" changes but >>>> identify the all files I ever messed with? >>> >>> These are two separate operations. >>> >>> [snip] >>> >>> $ svn merge ^/vendor/libcomplex/1.0 \ >>> ^/vendor/libcomplex/2.0 \ >>> libcomplex >>> >>> [snip] >>> >>> And then subsequently modified your copy in "calc" in some way and >>> committed those changes, you can see which files you changed using this >>> command: >>> >>> $ svn diff --summarize \ >>> http://svn.example.com/repos/vendor/libcomplex/1.0 \ >>> http://svn.example.com/repos/calc/libcomplex >>> >>> >> >> Thank you for the help. >> >> It's that last diff command that comes too late for my taste, though. > > You can run the diff command at any time that's convenient for you. > > As I wrote it above, it shows the changes between version 1.0 of the vendor > code and the version of the vendor code committed to the "calc" project in > the repository. > > >> I'd like to avoid checking in the "libcomplex/2.0"->project merge before >> doing a review. > > Sure. In fact, as I wrote it above, the command would not give correct output > if you had already committed the merge. If you had committed the merge > already, then you'd want to compare the original 2.0 code (not the original > 1.0 code) with your code. > > >> Ideally, after the merge (but before commit) I'd like to be able to run a >> command like: >> "svn diff --show-patches-to-vendor-code" >> >> Output: list of lib files that I've changed at any point since the previous >> vendor drop. >> >> Could I do something like diff the (pre commit) project working copy against >> "^/vendor/libcomplex/2.0"? > > Yes that sounds fine. Something like: > > $ svn diff --summarize \ > http://svn.example.com/repos/vendor/libcomplex/1.0 \ > path/to/workingcopyofcalc/libcomplex
I think that last command needs the 2nd form of 'svn diff' syntax, because you're comparing an (arbitrary) url with a working copy path: [[[ diff (di): Display the differences between two revisions or paths. usage: 1. diff [-c M | -r N[:M]] [TARGET[@REV]...] 2. diff [-r N[:M]] --old=OLD-TGT[@OLDREV] [--new=NEW-TGT[@NEWREV]] \ [PATH...] 3. diff OLD-URL[@OLDREV] NEW-URL[@NEWREV] ]]] So that would be: $ svn diff --summarize \ --old=http://svn.example.com/repos/vendor/libcomplex/1.0 \ --new=path/to/workingcopyofcalc/libcomplex -- Johan