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

Reply via email to