You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by "Baeriswyl Kuno - Extern (IT-BA-MV)" <ku...@sbb.ch> on 2008/06/30 06:59:59 UTC
Issue found: rename prior to merge --reintegrate
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
Re: Issue found: rename prior to merge --reintegrate
Posted by Kamesh Jayachandran <ka...@collab.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi Kuno,
This looks serious.
Root cause remains to be the same as
http://subversion.tigris.org/issues/show_bug.cgi?id=3128
With regards
Kamesh Jayachandran
Baeriswyl Kuno - Extern (IT-BA-MV) wrote:
> 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
>
>
>
>
>
>
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFIaIjL3WHvyO0YTCwRAr0dAJ9fG0r+hIVMy3dpWtlcJlgO6cBSFgCdFFAj
2lDYT/9GV0Vi/kRVBtR+4pU=
=hCU4
-----END PGP SIGNATURE-----
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: Issue found: rename prior to merge --reintegrate
Posted by Mark Phippard <ma...@gmail.com>.
On Mon, Jun 30, 2008 at 2:59 AM, Baeriswyl Kuno - Extern (IT-BA-MV)
<ku...@sbb.ch> wrote:
> 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.
This is something we have known about for a while. I posted a
detailed followup to your post on users@.
There is nothing wrong with the repository. Merge --reintegrate just
does a bunch of pre-merge checks and it does not pass those checks in
this situation. You can still use the older 2-URL merge syntax that
--reintegrate uses internally when the checks pass. There are a
couple ideas for how we can improve this so that you can use
--reintegrate.
--
Thanks
Mark Phippard
http://markphip.blogspot.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org