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

Possible bug in svn client 1.8 - svn merge does reintegrate when it should sync

From: David Robinson <davidtrobinson_at_gmail.com>
Date: Thu, 21 Aug 2014 08:47:06 -0600

Overview of problem:
Using svn client 1.8.10 on Mac OSX 10.9.4, downloaded from wandisco.

When trying to sync trunk to a branch with the command: svn merge ^/trunk
I get the following error:
svn merge ^/trunk
svn: E195016: Reintegrate can only be used if revisions 3 through 6 were
previously merged from
file:///Users/drobinson/svntest/repo/branches/branch1 to the reintegrate
source, but this is not the case:
  trunk
    Missing ranges: /branches/branch1:3

^/branches/branch1 is a copy of trunk that I made. I added a file,
test2.txt, to ^/branches/branch1, switched to ^/trunk and added another
file, test3.txt, then cherry picked the revision from branch1 to get
test2.txt into trunk. I then went to perform a sync merge on branch1 and
it is trying to reintegrate trunk into the branch instead of doing a sync
merge.

This is a contrived example that I am doing to verify a bug in the client.
 I experienced this problem in actual development when we had a bug fix
branch we were working in and we needed to merge a couple of bug fixes into
trunk from the branch but we were not ready to merge all of the bug fixes.
 When I tried to do a sync merge from trunk to get our branch up to date,
the client tried to do the reintegrate instead of the sync. I reverted the
svn client to 1.7.17 because I knew in that version you have to explicitly
tell the client to reintegrate with the --reintegrate option. I was able
to perform the sync merge after downgrading.

I believe this is a bug. It appears to be caused by cherry pick merging
from the branch into trunk. I know that this probably isn't a common
problem, but I could not find anything in the merge documentation about
cherry picking that indicated it would mess up a sync merge. It seems like
the client should be able to detect that the working copy was copied from
trunk and that it should be doing a sync merge instead of a reintegrate.

Can anyone validate that this is a bug for me?

Thanks,

Dave Robinson

P.S. Here is the command history of me trying to reproduce the bug:
590 svnadmin create repo
591 mkdir -p trunk/myProject
592 cd trunk/myProject/
593 vi test.txt
594 cd ../../
596 svn import trunk file:///Users/drobinson/svntest/repo/trunk
598 rm -r trunk/
601 svn co file:///Users/drobinson/svntest/repo/trunk
602 cd trunk/
605 svn mkdir ^/branches -m "making branches dir"
606 svn copy ^/trunk ^/branches/branch1 -m "making branch1 for testing"
608 svn switch ^/branches/branch1
610 cd myProject/
612 vi test2.txt
613 svn add test2.txt
614 svn commit -m "added test2.txt in branch1"
615 cd ..
616 svn up
617 svn switch ^/trunk
618 cd myProject/
620 vi test3.txt
621 svn add test3.txt
622 svn commit -m "added test3.txt in trunk"
624 cd ..
625 svn up
626 svn log ^/branches/branch1
627 svn up
628 svn merge -c 4 ^/branches/branch1
629 svn commit -m "cherry pick merged revision 4 from branch1"
630 svn up
631 svn switch ^/branches/branch1
632 svn up
633 svn merge ^/trunk
--At this point I get the following error:
svn: E195016: Reintegrate can only be used if revisions 3 through 6 were
previously merged from
file:///Users/drobinson/svntest/repo/branches/branch1 to the reintegrate
source, but this is not the case:
  trunk
    Missing ranges: /branches/branch1:3
Received on 2014-08-21 16:53:39 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.