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

Re: SVN merge attempting to reintegrate on a merge to a branch

From: Goor, Stefan <SGoor_at_thetasgroup.com>
Date: Mon, 16 Sep 2013 15:04:12 +0000

Hi Stefan,

I tried the fix below and it solved the issue of the truncated path in the
missing ranges section:

$ svn merge ^/trunk/my_project .
svn: E195016: Reintegrate can only be used if revisions 4401 through 4598
were previously merged from
https://our.svn.servername/REPO/branches/my_project/features/my_project_bra
nch to the reintegrate source, but this is not the case:
  trunk/my_project
    Missing ranges:
/trunk/my_project:4407-4408,4431,4442-4444,4485,4524,4532-4534,4538,4582

However, I still don't understand why the branch thinks it's missing these
revisions. I tried to manually merge these revisions into the trunk
project but none of the revisions had any effect on the working copy of
the trunk project. There were no changes or svn:mergeinfo property
changes because these revision were previously seen in a merge we did a
little while ago:

$ svn merge -r4407:4408 ^/branches/my_project/features/my_project_branch .
--- Recording mergeinfo for merge of r4408 into '.':
 U .
$ svn merge -c4431 ^/branches/my_project/features/my_project_branch .
--- Recording mergeinfo for merge of r4431 into '.':
 U .
$ svn merge -r4442:4444 ^/branches/my_project/features/my_project_branch .
--- Recording mergeinfo for merge of r4443 through r4444 into '.':
 U .
$ svn merge -c4485 ^/branches/my_project/features/my_project_branch .
--- Recording mergeinfo for merge of r4485 into '.':
 U .
$ svn merge -c4524 ^/branches/my_project/features/my_project_branch .
--- Recording mergeinfo for merge of r4524 into '.':
 U .
$ svn merge -r4532:4534 ^/branches/my_project/features/my_project_branch .
--- Recording mergeinfo for merge of r4533 through r4534 into '.':
 U .
$ svn merge -c4538 ^/branches/my_project/features/my_project_branch .
--- Recording mergeinfo for merge of r4538 into '.':
 U .
$ svn merge -c4582 ^/branches/my_project/features/my_project_branch .
--- Recording mergeinfo for merge of r4582 into '.':
 U .
$ svn stat

$
$ svn pg svn:mergeinfo . | grep "my_project_branch"
/branches/my_project/features/my_project_branch:4401-4590

$ cd $BRANCH_PROJECT_PATH
$ svn pg svn:mergeinfo . | grep "\/trunk\/my_project"
/trunk/my_project:4401-4587

Is there anyway for us to identify what is wrong? We have seen this issue
on a few branch recently and we would like to avoid / correct the issue if
possible. Would the above truncated path issue have caused this issues
also? If we patch our SVN client and recreate a new branch for this
feature do you think that would avoid these problems in the future?

Could we have done something wrong with a merge to produce this? We tend
to use a simple enough merging and branching proceedure and it had worked
fine until recently so I'd like to figure out if we need to change the way
we are doing things.

Many Thanks for all your help,
Stefan

On 16/09/2013 15:26, "Stefan Sperling" <stsp_at_elego.de> wrote:

>On Mon, Sep 16, 2013 at 11:51:30AM +0000, Goor, Stefan wrote:
>> Sorry for that, I should have spotted the missing slash! The local
>>merge
>> gave the same result:
>>
>> C:\Users\Administrator\my_project_branch>C:\csvn\bin\svn merge
>> "file:///C:/csvn/data/r
>> epositories/REPO/trunk/my_project" .
>> svn: E195016: Reintegrate can only be used if revisions 4401 through
>>4587
>> were p
>> reviously merged from
>> file:///C:/csvn/data/repositories/REPO/branches/my_project/f
>> eatures/my_project_branch to the reintegrate source, but this is not the
>> case:
>> trunk/my_project
>> Missing ranges: /trunk/my_projec:4485
>> Missing ranges:
>> /trunk/my_project:4407-4408,4431,4442-4444,4485,4524,4532-453
>> 3
>>
>> Please let me know if I can post any further information to help
>>identify
>> the issue.
>
>Thanks!
>
>Bert Huijben pointed out to me a way to reproduce this problem
>with the svn.apache.org repository. Using his reproduction recipe
>I could spot the problem and fix it: http://svn.apache.org/r1523666
>
>This wasn't a cosmetic issue, but caused actual mis-detection of
>missing ranges. Whether or not that patch fixes your merge problem
>remains to be seen -- it all depends on your merge history. However,
>with the above fix (patch below) the obvious corrupted path issue
>should disappear.
>
>Can you try this patch?
>
>Index: subversion/libsvn_client/merge.c
>===================================================================
>--- subversion/libsvn_client/merge.c (revision 1523568)
>+++ subversion/libsvn_client/merge.c (working copy)
>@@ -10715,7 +10715,7 @@ log_find_operative_revs(void *baton,
>
> suffix = svn_relpath_skip_ancestor(subtree_missing_this_rev,
> source_rel_path);
>- if (suffix)
>+ if (suffix && suffix[0] != '\0')
> {
> missing_path = apr_pstrmemdup(pool, path,
> strlen(path) -
>strlen(suffix) - 1);
>
Received on 2013-09-16 17:04:48 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.