[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: vendor branch merge: how to highlight patches for review?

From: Johan Corveleyn <jcorvel_at_gmail.com>
Date: Wed, 29 Aug 2012 09:34:01 +0200

On Wed, Aug 29, 2012 at 7:51 AM, Ryan Schmidt
<subversion-2012c_at_ryandesign.com> wrote:
>
> On Aug 28, 2012, at 17:56, Q. Chap <quitechap_at_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
Received on 2012-08-29 09:35:00 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.