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

RE: [merge-tracking]: This looks ok, but is it?

From: Paul Burba <pburba_at_collab.net>
Date: 2007-03-06 16:21:32 CET

> -----Original Message-----
> From: Daniel Rall [mailto:dlr@collab.net]
> Sent: Monday, March 05, 2007 7:34 PM
> To: dev@subversion.tigris.org
> Cc: Paul Burba
> Subject: Re: [merge-tracking]: This looks ok, but is it?
>
> On Wed, 28 Feb 2007, Paul Burba wrote:
...<snip>...
> > >svn merge
> >
> file:///C:/SVN.MERGE.TRACKING/src-trunk/Release/subversion/tests/cmdli
> > ne /svn-test-work/repositories/merge_tests-1/A/B/E/beta
> > A\B\E_COPY\beta -c3
> > U A\B\E_COPY\beta
> >
> > # A\B\E_COPY\beta doesn't have r4, but again r4 doesn't #
> affect beta,
> > so it is semantically equivalent to # /A/B/E/beta:3-4
> > >svn pl -vR
> > Properties on 'A\B\E_COPY':
> > svn:mergeinfo : /A/B/E:1,4
> > Properties on 'A\B\E_COPY\beta':
> > svn:mergeinfo : /A/B/E/beta:3
> ...
>
> Paul and I discussed this last week in person at CollabNet's
> Brisbane office, and came to the conclusion that path
> 'A\B\E_COPY\beta' should have the merge info '/A/B/E/beta:1,3-4'.
>
> Because path 'A\B\E_COPY\beta' has no explicit merge info,
> revisions 1 and 4 are inherited from local (uncommitted)
> merge info on parent path 'A\B\E_COPY'. The client library
> should be walking back up the WC until it encounters either
> a) the WC root or b) local merge info. If it encounters (b),
> it should use a copy of that merge info as the basis for the
> merge info of the target of the merge.

Note also that the svnmergeinfo property inheritence doesn't work even
when the nearest ancestor's mergeinfo is committed (Using standard greek
tree, cwd is root of WC):

>set
URL=file:///C:/SVN.MERGE.TRACKING/src-trunk/Release/subversion/tests/cmd
line/svn-test-work/repositories/merge_tests-1

>svn cp %URL%/A A_COPY
A A_COPY\B
A A_COPY\B\lambda
A A_COPY\B\E
A A_COPY\B\E\alpha
A A_COPY\B\E\beta
A A_COPY\B\F
A A_COPY\mu
A A_COPY\C
A A_COPY\D
A A_COPY\D\gamma
A A_COPY\D\G
A A_COPY\D\G\pi
A A_COPY\D\G\rho
A A_COPY\D\G\tau
A A_COPY\D\H
A A_COPY\D\H\chi
A A_COPY\D\H\omega
A A_COPY\D\H\psi
Checked out revision 1.
A A_COPY

>svn ci -m ""
Adding A_COPY

Committed revision 2.

>svn pl -vR
Properties on 'A_COPY':
  svn:mergeinfo : /A:1

>echo new content > A\B\lambda

>svn ci -m ""
Sending A\B\lambda
Transmitting file data .
Committed revision 3.

>svn merge %URL%/A/B/lambda A_COPY\B\lambda
svn: A working copy merge source needs an explicit revision

>svn merge %URL%/A/B/lambda A_COPY\B\lambda -c3
U A_COPY\B\lambda

# 'A_COPY\B\lambda' should pick up r1 too.
>svn pl -vR
Properties on 'A_COPY':
  svn:mergeinfo : /A:1
Properties on 'A_COPY\B\lambda':
  svn:mergeinfo : /A/B/lambda:3

Paul B.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Mar 6 16:21:48 2007

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