Hello, I've reproduced this mergeinfo overwriting issue using the following steps. We are seeing this with svn client v1.8.8, and using a remote VisualSVN server v2.7.0 (which uses svn v1.8.8). NOTE: This cannot be replicated by using a locally created repo...we've only been able to replicate with VisualSVN remotely.
TO REPRODUCE: We started out by creating an empty repo called TestRepo on the server. Then: E:\Colspace\sandbox2>mkdir fullrepo E:\Colspace\sandbox2>svn checkout https://svn.colspace.com/svn/TestRepo fullrepo Checked out revision 0. E:\Colspace\sandbox2>cd fullrepo E:\Colspace\sandbox2\fullrepo>svn mkdir trunk A trunk E:\Colspace\sandbox2\fullrepo>svn mkdir branch A branch E:\Colspace\sandbox2\fullrepo>svn commit -mm . Adding branch Adding trunk Committed revision 1. E:\Colspace\sandbox2\fullrepo>cd .. E:\Colspace\sandbox2>mkdir trunk E:\Colspace\sandbox2>mkdir user1_branch E:\Colspace\sandbox2>mkdir user2_branch E:\Colspace\sandbox2>svn checkout https://svn.colspace.com/svn/TestRepo/trunk trunk Checked out revision 1. E:\Colspace\sandbox2>svn checkout https://svn.colspace.com/svn/TestRepo/branch user1_branch Checked out revision 1. E:\Colspace\sandbox2>svn checkout https://svn.colspace.com/svn/TestRepo/branch user2_branch Checked out revision 1. E:\Colspace\sandbox2>echo "file1" > trunk/file1.txt E:\Colspace\sandbox2>svn add trunk/file1.txt A trunk\file1.txt E:\Colspace\sandbox2>svn commit -mm trunk Adding trunk\file1.txt Transmitting file data . Committed revision 2. E:\Colspace\sandbox2>echo "file2" > trunk/file2.txt E:\Colspace\sandbox2>svn add trunk/file2.txt A trunk\file2.txt E:\Colspace\sandbox2>svn commit -mm trunk Adding trunk\file2.txt Transmitting file data . Committed revision 3. E:\Colspace\sandbox2>svn merge -c2 https://svn.colspace.com/svn/TestRepo/trunk user1_branch --- Merging r2 into 'user1_branch': A user1_branch\file1.txt --- Recording mergeinfo for merge of r2 into 'user1_branch': U user1_branch E:\Colspace\sandbox2>svn commit -mm user1_branch Sending user1_branch Adding user1_branch\file1.txt Committed revision 4. E:\Colspace\sandbox2>svn merge -c3 https://svn.colspace.com/svn/TestRepo/trunk user2_branch --- Merging r3 into 'user2_branch': A user2_branch\file2.txt --- Recording mergeinfo for merge of r3 into 'user2_branch': U user2_branch E:\Colspace\sandbox2>svn commit -mm user2_branch Sending user2_branch Adding user2_branch\file2.txt Committed revision 5. E:\Colspace\sandbox2>svn update user1_branch Updating 'user1_branch': A user1_branch\file2.txt U user1_branch Updated to revision 5. E:\Colspace\sandbox2>svn propget svn:mergeinfo user1_branch /trunk:3 WHOOPS, WHAT HAPPENED TO THE MERGED REV 2?? I MERGED IT, BUT THE MERGEINFO GOT OVERWRITTEN. On 12.03.2014 21:24, Jeb Wilson wrote: > Hello all, > > Apologies if this has already been reported, but it's a difficult one to > search for. This came through from TortoiseSVN 1.8.5. > > Here's the basic way to reproduce: > > User #1 merges from A -> B and commits. > User #2 merges SOMETHING ELSE from A->B but doesn't update first to get User > #1's changes. > User #2 commits, and SVN allows the commit. After reviewing the resulting > mergeinfo, User #1's mergeinfo is overwritten, and the merge info from User #1 is lost. > > I've reproduced this several times with TortoiseSVN 1.8.5. Note, we're using > 2.5.16 version of VisualSVN server. > > My opinion is SVN should reject User #2's commit, and inform them they have > an out-of-date working copy and it should force them to update before committing their merge changes. > When I downgrade to 1.8.3, the proper "out of date" warning comes up and > forces an update. Thus, it must have been something that was introduced as of 1.8.4. > FYI, another user has reported this issue here: > http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3071239 I can't reproduce this with either 1.8.5 or 1.8.8, with the attached script; both give the same output (see below). If this is indeed a bug, and not pilot error, it would appear to be specific to TortoiseSVN, not Subversion. -- Brane brane@zulu:/tmp/test$ ~/repro.sh + svnadmin create repo + svn checkout file:///tmp/test/repo<file:///\\tmp\test\repo> structure Checked out revision 0. + svn mkdir structure/trunk A structure/trunk + echo a + echo b + svn add structure/trunk/a structure/trunk/b A structure/trunk/a A structure/trunk/b + svn commit -mm structure Adding structure/trunk Adding structure/trunk/a Adding structure/trunk/b Transmitting file data .. Committed revision 1. + rm -fr structure + svn copy -mm file:///tmp/test/repo/trunk<file:///\\tmp\test\repo\trunk> file:///tmp/test/repo/branch<file:///\\tmp\test\repo\branch> Committed revision 2. + svn checkout file:///tmp/test/repo/trunk<file:///\\tmp\test\repo\trunk> user1 A user1/a A user1/b Checked out revision 2. + echo aa + svn commit -mm user1 Sending user1/a Transmitting file data . Committed revision 3. + svn checkout file:///tmp/test/repo/trunk<file:///\\tmp\test\repo\trunk> user2 A user2/a A user2/b Checked out revision 3. + echo bb + svn commit -mm user2 Sending user2/b Transmitting file data . Committed revision 4. + svn switch file:///tmp/test/repo/branch<file:///\\tmp\test\repo\branch> user1 U user1/a Updated to revision 4. + svn switch file:///tmp/test/repo/branch<file:///\\tmp\test\repo\branch> user2 U user2/b U user2/a Updated to revision 4. + svn merge -c3 file:///tmp/test/repo/trunk<file:///\\tmp\test\repo\trunk> user1 --- Merging r3 into 'user1': U user1/a --- Recording mergeinfo for merge of r3 into 'user1': U user1 + svn commit -mm user1 Sending user1 Sending user1/a Transmitting file data . Committed revision 5. + svn merge -c4 file:///tmp/test/repo/trunk<file:///\\tmp\test\repo\trunk> user2 --- Merging r4 into 'user2': U user2/b --- Recording mergeinfo for merge of r4 into 'user2': U user2 + svn commit -mm user2 Sending user2 svn: E155011: Commit failed (details follow): svn: E155011: Directory '/private/tmp/test/user2' is out of date svn: E160028: Directory '/branch' is out of date -- Branko Čibej | Director of Subversion WANdisco // Non-Stop Data e. br...@wandisco.com<mailto:br...@wandisco.com>