Hyrum K. Wright wrote:
>> Hyrum - any thoughts as to what happened? I recall in IRC you were
>> had some questions about how exactly to merge the 1.5.x-r30215 branch
>> to 1.5.x. What did you ultimately end up doing?
> After a couple of failed attempts, the command I ultimately ended up
> running was:
> $ svn merge -c 30236,30238,30245,30288
I cut the 1.5.x-r30215 branch from the 1.5.x branch. You should have needed
only to do:
svn merge https://svn.collab.net/repos/svn/branches/1.5.x-r30215 \
I tried to replay this scenario (which ought to be time-safe, right?), but I
got an error:
$ cd projects/subversion-1.5.x
$ svn merge http://svn.collab.net/repos/svn/branches/1.5.x-r30215@30348 .
svn: File not found: revision 30447, path '/branches/1.5.x-r30215'
'svn help merge' contains this:
3. merge [-c M[,N...] | -r N:M ...] SOURCE[@REV] [WCPATH]
3. In the third form, SOURCE can be either a URL or a working copy
path (in which case its corresponding URL is used). SOURCE (in
revision REV) is compared as it existed between revisions N and M
for each revision range provided. If REV is not specified, HEAD
is assumed. '-c M' is equivalent to '-r <M-1>:M', and '-c -M'
does the reverse: '-r M:<M-1>'. If no revision ranges are
specified, the default range of 0:HEAD is used. Multiple '-c'
and/or '-r' instances may be specified, and mixing of forward
and reverse ranges is allowed.
Maybe I got bit by the default range of 0:HEAD? That's a stupid default, by
the way, and inconsistent with our policy of allowing specified peg
revisions dictate the upper bound on the operative revision range. But
anyway, I tried with the obvious workaround:
$ svn merge http://svn.collab.net/repos/svn/branches/1.5.x-r30215@30348 . \
svn: Working copy path 'CHANGES' does not exist in repository
Ooookay. Well, I'll use 'svn log' to find a real range, then.
$ svn log -q --stop-on-copy \
| grep '^r' | tail -1
r30222 | cmpilato | 2008-04-03 13:38:30 -0400 (Thu, 03 Apr 2008)
(Sidebar: 'svn help log' indicates that HEAD:1 is the default revision
range even when a peg revision to the URL is supplied. Clearly, that's a
lie. How many bugs are we up to now?)
Anyway, back to using a real range for this merge:
$ svn merge http://svn.collab.net/repos/svn/branches/1.5.x-r30215@30348
--- Merging r30223 through r30348 into '.':
$ svn st
$ svn diff --depth empty
Property changes on: .
Oh boy. That's all so very not good. My guess? The svn:mergeinfo property
actually stored on the backport branch first blew away the one stored on in
the 1.5.x branch, and then was modified to include the current merge operation.
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Received on 2008-04-09 16:53:33 CEST