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

Re: "svn diff" and "svn merge" sittin' in a tree

From: Chris Foote <Chris.Foote_at_xtra.co.nz>
Date: 2002-02-12 23:38:30 CET

----- Original Message -----
From: "Philip Martin" <philip@codematters.co.uk>
To: <dev@subversion.tigris.org>
Sent: Tuesday, February 12, 2002 1:17 AM
Subject: Re: "svn diff" and "svn merge" sittin' in a tree

> "Chris Foote" <Chris.Foote@xtra.co.nz> writes:
>
> > Additionally the Clearcase merge command uses combined deltas when doing
> > merges.
> >
> > Given the Base revision (B) and additional contributors (C1, C2, ...
Cn).
> > i.e.
> > --------B--------
> > / | \
> > d(B,C1) d(B,C2) d(B,Cn)
> > / | \
> > C1 C2 . . Cn
> >
> > Then the merge result is B + d(B,C1) + d(B,C2) + . . . + d(B, Cn)
>
> Let me check I understand this diagram. You have a base revision B and
> several modifications C1, C2, .. Cn. The "merge result" is obtained
> after merging all of C1, C2, ..Cn back into one B, creating Bn say,
> correct?

Correct.

> Now you can commit after each merge, or you can carry out a series of
> merges and commit once after all of them. Which you do doesn't really
> affect the merge procedure, it only affects the number of revisons
> that get created between B and Bn.
>
> > By using this Clearcase lets you merge any revision delta ( or range of
> > deltas) to
> > any other branch. You can also remove any delta(s) you wish.
> >
> > I am wrong in thinking that this is another application for the delta
> > combiner?
>
> Not sure. In the end you have to deal with conflicts. The only
> practical way I know to do that is to generate three fulltexts and run
> a three-way diff, the conflicts are then in a human readable form. Now
> the delta-combiner may be used during the fulltext generation, but
> that is a detail hidden from the merge algorithm. Or are you propsing
> that we attempt to merge at the vdelta level? I guess that might be
> possible (I don't know enough about vdelta to say) but I don't know
> whether it's desirable. How would it cope with conflicts? Perhaps we
> can do a vdelta merge and fallback to fulltexts if there is a
> conflict?

Yes, use the precalculated vdeltas to merge and only use a 3 way diff
when necessary ( i.e. to resolve conflicts).

-- snip --
> One related point: thus far, I have been assuming the merge gets
> written into a working copy. I suppose the merge could get committed
> straight into the repository if there are no merge conflicts. I can't
> imagine ever wanting to do this with code I was developing, but I can
> see that it would be possible for Subversion to do it.

Yes it would be possible to commit (assuming no conflicts) straight away,
but
I was not suggesting that it would work that way.

--
Chris
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:37:07 2006

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

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