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 16:26:51 CEST