I read article in detail:
and now I think I know why the X/A mergeinfo has asterisk
(/trunk/A:199-202*). Folder X/A has additional sub-folders, other
than 1,2,3 and those sub-folders, for example X/A/4, are not
available in the sparse working copy. OK, this makes sense.
I tried a new test. I used a fresh copy of trunk as
branches/Z and just used the command-line. I followed the steps
outlined in the article section "Mergeinfo Inheritance and
The results are the same as before. As described in my first post,
the reintegrate simply will not work .
From: Manny DaSilva <manny390_at_yahoo.com>
To: Johan Corveleyn <jcorvel_at_gmail.com>
Sent: Fri, March 12, 2010 10:39:22 AM
Subject: Re: unable to reintegrate branch
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
The branch X root mergeinfo has no asterisk:
The two sub-folders X/A and X/B are confirmed,
they both have the asterisk:
And the sub-folders X/A/1,2,3 have no asterisk:
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:
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
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>
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:
> 3. update --set-depth infinity X/A downloads additional folders from X/A
> 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:
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:
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:
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
> 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?
Received on 2010-03-12 18:54:08 CET