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

Possible merge bug...would like confirmation

From: Peters Joshua C <jcpeter_at_ilstu.edu>
Date: 2007-02-19 19:08:18 CET

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello all, I'm running into a fairly easily reproducable bug in subversion and would like some confirmation as to if it is already known/"feature" not a bug/etc. Forgive the length of this email, but I like to be as verbose as possible when reporting/receiving bug reports.

What is happening is as follows:
In several of my repositories I have a /trunk/docs which contains autogenerated documentation. Due to some issues with renaming etc, I find it easiest to have subversion delete the contents of /trunk/docs before regenerating the files.

I do the following:
1.) delete the files
2.) commit this change
3.) regenerate the files
4.) add them
5.) commit the change.

This results in two new revisions in the repo.

Later I want to tag my trunk as a milestone, say /tag/LATEST but I've already got a /tag/LATEST, so I merge the two together (ie. svn merge svn://repo/tag/LATEST svn://repo/trunk .) Dry run works fine, but the actual merge sometimes fails when the contents of a folder are seemingly unchanged. Subversion gives a out of date error and directs me to update my WC first, but updating does nothing and I cannot resolve this issue. Actually, that's not 100% true, as the issue is resolvable by merging with the first transaction, committing the change, and merging with the second transaction (and committing that change).

To look at it another way (for all of the visual learners here) we've got a repo with two folders initially
A /trunk
A /trunk/docs
A /trunk/docs/a.txt
A /trunk/docs/b.txt
A /trunk/docs/c.txt
(commit)
(then I tag trunk as LATEST)
A /tags
A /tags/LATEST/docs
A /tags/LATEST/docs/a.txt
A /tags/LATEST/docs/b.txt
A /tags/LATEST/docs/c.txt
(commit)
(then I delete /trunk/docs)
D /trunk/docs/a.txt
D /trunk/docs/b.txt
D /trunk/docs/c.txt
D /trunk/docs
(commit)
(next I recreate the files via my script, and add them to the repo)
A /trunk/docs
A /trunk/docs/a.txt
A /trunk/docs/b.txt
A /trunk/docs/c.txt
(commit)
(next I attempt to merge /tags/LATEST with /trunk)
D /tags/LATEST/docs/a.txt
D /tags/LATEST/docs/b.txt
D /tags/LATEST/docs/c.txt
D /tags/LATEST/docs
A /tags/LATEST/docs
A /tags/LATEST/docs/a.txt
A /tags/LATEST/docs/b.txt
A /tags/LATEST/docs/c.txt
(commit)

And I often get the following message:
svn: Commit failed (details follow):
svn: Out of date: '/tags/LATEST' in transaction '<trans #>'
(trans # is not a literal string, it's merely my placeholder)

Is this normal for Subversion? And if not, has this been reported?

Thanking you in advance.

Josh Peters
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (MingW32)

iQCVAwUBRdnnkfufekgP7qSrAQK+DQP+Js5fgGoaBDwKouSGze8UdVBp0AWbQXra
gwOLWpXKIH5iMDo27PZrCJHVBl2QXN/vkRLHgVpQVgHTPp0UKVJJ8t42SyjY12p5
HtpU2vFHMF9l9bJ3ag2KCj9OSB60CXirpsKJeVDqSKuVit2s3K04sDrm2VRwSjGa
+XzeeFw9Jbc=
=Gx8i
-----END PGP SIGNATURE-----
Received on Mon Feb 19 19:11:08 2007

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.