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

Re: Unexpected behavior during mergeinfo elision scenario

From: Stefan Sperling <stsp_at_elego.de>
Date: Mon, 26 Mar 2012 12:11:29 +0200

On Fri, Mar 23, 2012 at 04:26:07PM -0500, a nsvnuser wrote:
> svn merge -r 1488:2779 ^/myproject/trunk/subdir subdir
> --- Recording mergeinfo for merge of r1489 through r2675 into 'subdir':
> U subdir
>
> svn diff
> [No output]

> In revision 2780
> ^/myproject/trunk was replaced via
> a copy from ^/myproject/branches/W_at_2675

So the history of trunk traces back into the W branch in some range
that ends with r2779.

To merge from the pre-replace 'trunk/subdir' object you need to specify a
peg revision that tells svn to look for 'trunk/subdir' in a version of
the versioned tree in which the path 'trunk/subdir' still corresponds to
the pre-replace object. Else you're merging from a different line of
history than you intend to merge from.

Try this: svn merge -r 1488:2779 ^/myproject/trunk/subdir_at_2779 subdir

An analogy would be that you tell me to fetch an item ("change" in svn's
terms) from an office ("path" in svn's terms) located in an office building
("repository") that contains an office on each floor ("revision").
But you don't specify which floor I am supposed to go look for the item.
Saying just "the office" without specifying a floor is ambiguous.
So I might come back empty-handed because I went to the wrong floor.

See also http://svnbook.red-bean.com/en/1.7/svn.advanced.pegrevs.html
Received on 2012-03-26 12:12:04 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.