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);