On 23.10.2013 18:06, Julian Foad wrote:
> Branko Čibej wrote:
>
>> On 23.10.2013 15:53, Julian Foad wrote:
>>> Gabriela Gibson wrote on 13 October: 
>>>> my branch has grown into a veritable forest, and so, I thought that
>>>> it would be convenient to present the net code changes
>>> ... and the discussion went on to address how to use "svn diff" in the
>>> right way to show such changes, which is not exactly obvious.  The best
>>> way is to go and investigate your merge history and then choose specify
>>> the left hand side of the diff as the revision on trunk which you last
>>> caught up to.  Is that really the best we can do?  No.
>>>
>>> This requirement is fairly basic and comes up quite often -- I have
>>> recently heard from both customers and colleagues wanting to know how
>>> to do it. I think we should have a built-in way to say "show me the diff
>>> of this branch against the parent branch, specifically against the latest
>>> catch-up point on the parent branch".  The attached patch implements this,
>>> using '-g'/'--use-merge-info' to trigger it:
>>>
>>>   cd my-branch-wc
>>>   svn diff -g ^/subversion/trunk .
>>>
>>> What does everyone think of the concept?  The user interface?  This
>>> patch is by no means a complete solution, but simply to promote
>>> discussion.
>> Without the -g, please. Diff should just dtrt; it should know when
>> branches are related, shouldn't it? And AFAICT, it already does the
>> right thing.
>
> Perhaps you missed the point.  Without '-g', "svn diff -g ^/subversion/trunk 
> ." shows us the difference between the *current* state of trunk and the 
> current state of our branch.  That's fine if you've just moments ago done a 
> catch-up and told everybody else to hold off committing for a short while; 
> but the use case we're addressing here is where want the diff between an 
> *older* state of trunk (whatever state we last caught up to) and the current 
> state of our branch.

Well, I fail to see how "use mergeinfo" is in any way intuitive of the
proposed semantics.

Instead of retrofitting this yet-another-catch-all option, we should
just go and design branch naming instead; then we could have a magical
kind of name that means "branch root". I dislike off-the-cuff solutions,
as you well know.

Another option -- somewhat less dependent on a completely new feature --
might be this:

    svn diff -rROOT:HEAD

Surely Subversion should be able to figure out when a branch was created.

-- Brane

-- 
Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. br...@wandisco.com

Reply via email to