|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2007-11-04 11:30:48
I think this only applies to the old branches created by cvs2svn.
Anyway, worth knowing.
attached mail follows:
On gio, 2007-11-01 at 21:31 -0400, David Abrahams wrote:
> Using svnmerge downloaded today from
> http://svn.collab.net/repos/svn/trunk/contrib/client-side/svnmerge/svnmerge.py
> I tried to follow
> http://www.orcaware.com/svn/wiki/Svnmerge.py#Merging_branches_back_to_trunk
> and found that it didn't work (no changes were merged) unless I
> followed the procedure supposedly required only for versions of
> svnmerge.py older than r22788.
>
> This was, specifically, merging
> http://svn.boost.org/svn/boost/branches/RC_1_34_0/boost into
> http://svn.boost.org/svn/boost/trunk@40670
> in case someone wants to try and reproduce it.
There's something weird in the way the branch was created (through
cvs2svn). Specifically, the branch contains the additional "/boost"
directory that you mentioned in the command line, but the history shows
the top-level branch directory was copied:
------------------------------------------------------------------------
r33417 | (no author) | 2006-03-21 03:26:31 +0100 (mar, 21 mar 2006) | 1
line
Changed paths:
A /branches/RC_1_34_0 (from /trunk:33416)
D /branches/RC_1_34_0/CVSROOT
D /branches/RC_1_34_0/boost/Jamfile.v2
A /branches/RC_1_34_0/boost/libs/statechart/doc/rationale.pdf
(from /trunk/boost/libs/statechart/doc/rationale.pdf:19650)
A /branches/RC_1_34_0/boost/libs/statechart/doc/reference.pdf
(from /trunk/boost/libs/statechart/doc/reference.pdf:21241)
A /branches/RC_1_34_0/boost/libs/statechart/doc/tutorial.pdf
(from /trunk/boost/libs/statechart/doc/tutorial.pdf:19650)
This commit was manufactured by cvs2svn to create branch 'RC_1_34_0'.
------------------------------------------------------------------------
This confuses svnmerge.py because it does not detect r33417 as the
revision in which RC_1_34_0/boost was created.
[[ From the looks of it, it seems like whoever run the cvs2svn
conversion used the wrong options and converted the whole repository
(instead of doing it per-module), thus causing this weird layout
(BRANCH/MODULE, or trunk/MODULE). With the correct options to cvs2svn,
the SVN layout would have been MODULE/branches/BRANCHNAME and
MODULE/trunk. I guess it's too late, though. ]]
I think we can't help it: this is one of those weird cases where you are
really supposed to pass the explicit "-r" range to "svnmerge init".
Everything should go smooth for branches created directly in SVN.
-- Giovanni Bajo Develer S.r.l. http://www.develer.com
-- Dave Abrahams Boost Consulting http://www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk