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

Re: [RFC] Merge Tracking: svn:mergeinfo and svn switch

From: Paul Burba <pburba_at_collab.net>
Date: 2007-05-15 19:31:09 CEST

> -----Original Message-----
> From: C. Michael Pilato [mailto:cmpilato@collab.net]
> Sent: Wednesday, April 18, 2007 2:23 PM
> To: Paul Burba
> Cc: dev@subversion.tigris.org; Daniel Rall; Peter N.
> Lundblad; Kamesh Jayachandran; Hyrum K. Wright
> Subject: Re: [RFC] Merge Tracking: svn:mergeinfo and svn switch
>
> Paul Burba wrote:
<snip>
> > ----------------------------------------
> > B) MERGE TO A PATH WITH SWITCHED CHILD:
> >
> > svn merge -cX URL PATH where PATH has a switched child
> PATH_C with no
> > explicit mergeinfo.
> >
> > Current behavior: PATH_C has no mergeinfo recorded. PATH_C has rX
> > merged into it, though this information is never getting
> into the repos.
> > If this merge is committed and another user checks out URL
> and tries
> > to merge in rX, a repeat merge is allowed.
> >
> > Correct behavior: PATH_C has mergeinfo added for rev X as a local
> > modification.
> >
> > Note: If PATH_C has explicit mergeinfo prior to the merge then
> > everything is ok, PATH_C gets mergeinfo for rX.
>
> [Bear with me -- I'm having trouble convincing myself that my
> words make sense.]

<cmpilato asks pburba to walk over to the cliff>:
 
> You've not listed this explicitly, but in "Current behavior",
> is it not also the case that PATH gets mergeinfo for rX?

Yes, PATH gets rX too...

<cmpilato asks pburba to peek over the edge>:

> I
> think that's the correct behavior, too. But it does leave
> room for a gotcha.
>
> If I have PATH and PATH_C, where PATH_C is switched
> elsewhere, the I think you're saying that after a merge of
> URL onto PATH, both PATH and PATH_C should have explicit
> mergeinfo recorded for the merge.

Yes, that's what I'm saying...

<cmpilato pushes pburba off the cliff :-P >:

> But what about the repository location that PATH_C is
> overriding? If I checkout a new tree of PATH, I'll get
> PATH_C as well -- but it isn't the same PATH_C as was in the
> switched working copy. My unswitched PATH_C inherits
> mergeinfo from its parent, which has such recorded for rX.
> But my unswitched PATH_C doesn't *have* the merged data from rX.

As we discussed on IRC, it's definitely a problem, and as you pointed
out it's also a problem with sparse directories and incomplete working
copies due to authz restrictions.

I'll start a new thread regarding the problem, potential solutions, and
how this might all potentially play together with your upcoming work on
tree conflicts http://svn.haxx.se/dev/archive-2007-05/0303.shtml.

Paul B.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue May 15 19:31:27 2007

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