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

Re: unable to reintegrate branch

From: Manny DaSilva <manny390_at_yahoo.com>
Date: Fri, 12 Mar 2010 07:39:22 -0800 (PST)

First, thank you for the quick reply. Second, I want to
apologize for having some missing info in my post.

In my email I have two steps labeled #3. This is the merge from trunk
into sparse working-copy of branch X. Let's call this step #3b.
I also failed to mention that before the merge at step #3b, a file
in A/1 folder was changed in both working copies of trunk and
branch X and then committed. This provides something to merge
sync/reintegrate.

The branch X root mergeinfo has no asterisk:
/trunk:199-202

The two sub-folders X/A and X/B are confirmed,
they both have the asterisk:
/trunk/A:199-202*
/trunk/B:199-202*

And the sub-folders X/A/1,2,3 have no asterisk:
/trunk/A/1:199-202

Folder X/B does not have sub-folders because the working copy is sparse
from a shallow checkout. TortoiseSVN was used to checkout branch X
with depth of immediates which produced X/A and X/B in the working-copy.
Then X/A/1,2,3 were added with update set-depth infinity. Actually,
using TortoiseSVN "Update item to revision" from the Repo-Browser.

I'm going to try a test by only using the command-line but I
don't think it will make any difference.

I have also found this comment:
http://eclipse.open.collab.net/ds/viewMessage.do?dsForumId=62&viewType=browseAll&dsMessageId=158923
by bergtwvd (Tom van den Berg) on 2008-11-10 11:12:39 PST:
"You can merge into a partial depth working copy, although it is
generally
not a good idea. That said, the --reintegrate merge option will not allow
you to do this."

I'm starting to think that "You can merge into a partial depth working
copy, although it is
generally not a good idea" really means
that it does not work.

My guess is that the problem is being caused by the sparse working copy and
some interaction with the merge tracking. This is because I have tried the
same use case with a fully recursive working copy of branch X for the merge
at step #3b and the use case works just fine. Our directory structure
has 20,000+ files and we need to work with sparse working-copies.

________________________________
From: Johan Corveleyn <jcorvel_at_gmail.com>
To: Manny DaSilva <manny390_at_yahoo.com>
Cc: users_at_subversion.apache.org
Sent: Fri, March 12, 2010 5:26:51 AM
Subject: Re: unable to reintegrate branch

On Fri, Mar 12, 2010 at 12:19 AM, Manny DaSilva <manny390_at_yahoo.com> wrote:
> Server at v1.6.9
> CollabNet command-line client at v1.6.9
> TortoiseSVN client at v1.6.7
> 1. Trunk copied to branches/X
> 2. Shallow checkout of branches/X creates sparse working-copy:
> X/A
> X/B
> 3. update --set-depth infinity X/A downloads additional folders from X/A
> tree:
> X/A/1
> X/A/2
> X/A/3
> 3. merge --depth infinity <ReposURL>/trunk
> The merge works correctly but causes svn:mergeinfo properties like
> the following. Note the asterisked rev number in svn:mergeinfo:
> /trunk/A:199-202*
> /trunk/B:199-202*

I'm guessing this is mergeinfo on the root of your branch (X).

The mergeinfo with an asterisk is a "non-inheritable merge range". It
means that, at the root of your branch, svn has noted that revs
199-202 are only merged up to A and B respectively, and not deeper (so
anything deeper cannot derive/inherit this mergeinfo; anything deeper
has not yet had those revisions merged from trunk).

This seems a little strange to me, because A should be present in your
working copy with depth infinity, so I would expect:
/trunk/A:199-202
/trunk/B:199-202*

Are you sure there are asterisks for both A and B?

For some more understanding of merginfo, including some explanation of
the asterisk etc., see:
http://www.collab.net/community/subversion/articles/merge-info.html

It's a very long article, so it takes quite some effort to go through
it all, but it can help a lot if you're trying to wrap your head
around it ... (if you already know some basic stuff of mergeinfo you
may want to skip ahead to the section "Mergeinfo Inheritance and
Non-Inheritable Ranges", where the asterisk is explained).

> 4. Using E:\X41\trunk fully recursive working copy of trunk, run:
> merge --reintegrate <ReposURL>/branches/X
> Get this error:
> Command: Reintegrate merge <ReposURL>/branches/X into E:\X41\trunk
> Error: Reintegrate can only be used if revisions 199 through 204 were
> previously
> Error: merged from <ReposURL>/trunk to the reintegrate source, but this is
> Error: not the case:
> Error: branches/X/A
> Error: Missing ranges: /trunk/A:199-202
> Error: branches/X/B
> Error: Missing ranges: /trunk/B:199-202
>
> Any ideas as to what may be causing these errors?
>

I'm not sure what's the cause of these errors (at least I would only
expect problems for X/B). Maybe it's not possible to reintegrate a
sparsely merged branch? Maybe someone else has experience with this?

Johan

      
Received on 2010-03-12 16:39:57 CET

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