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

Issue found: rename prior to merge --reintegrate

From: Baeriswyl Kuno - Extern (IT-BA-MV) <kuno.baeriswyl_at_sbb.ch>
Date: Mon, 30 Jun 2008 08:59:59 +0200

Hello!

Windows XP
svn, version 1.5.0 (r31699)

I've found an issue with renames and merge --reintegrate. After any rename operation in my repository, the merge --reintegrate operation complains about unmerged revisions. Even if, the rename was been made prior the branch initiation.

CASE:
  1. Setup repo

   -trunk
      -test1.txt
      -test2.txt
   -branches

2. move trunk/test1.txt to trunk/test3.txt and commit

d:\temp\subversion-1.5-repo\checkout\test\trunk>svn move test1.txt test3.txt
A test3.txt
D test1.txt

d:\temp\subversion-1.5-repo\checkout\test\trunk>svn commit -m ""
Deleting trunk\test1.txt
Adding trunk\test3.txt

Committed revision 2.

3. copy trunk to branches/a and commit
d:\temp\subversion-1.5-repo\checkout\test\branches>svn copy svn://localhost/temp/subversion-1.5-repo/test/trunk svn://localhost/temp/subversion-1.5-repo/test/branches/a -m ""

Committed revision 3.

d:\temp\subversion-1.5-repo\checkout\test\branches>svn update
A a
A a\test2.txt
A a\test3.txt
Updated to revision 3.

 4. cd branches/a

 5. merge trunk and commit
d:\temp\subversion-1.5-repo\checkout\test\branches\a>svn merge svn://localhost/temp/subversion-1.5-repo/test/trunk

d:\temp\subversion-1.5-repo\checkout\test\branches\a>svn commit -m ""
Sending a

Committed revision 4.

 6. Go trunk, update and reintegrate branch/a to trunk.

d:\temp\subversion-1.5-repo\checkout\test\trunk>svn update
At revision 4.

d:\temp\subversion-1.5-repo\checkout\test\trunk>svn merge --reintegrate svn://localhost/temp/subversion-1.5-repo/test/br
anches/a
svn: Cannot reintegrate from 'svn://localhost/temp/subversion-1.5-repo/test/branches/a' yet:
Some revisions have been merged under it that have not been merged
into the reintegration target; merge them first, then retry.

It seems that any rename lead to an inconsistent state of the repository. Given that renames are a quite commen operation on a repository, the merge --reintegration operation turns to be totally useless. I tried to debug the mergeinfo properties. I don't understand how it works in details, though, following output seems to be strange to me:

d:\temp\subversion-1.5-repo\checkout\test\branches\a>svn pg -R svn:mergeinfo
. - /trunk:3
test3.txt -

test3.txt was never part of branch a, since the branch has been made after the rename.

Thanks

Kuno
Received on 2008-06-30 09:00:25 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.