[svk-users] right way to roll back a merge in the depot?

Chris Hecker checker at d6.com
Mon Aug 6 02:07:34 EDT 2007


Two questions:

Let's say I have this layout (which exists in the mediawiki svn tree):

/trunk
/tags/v1_1
/branches/v1

The /truck is long since moved on, miles away from either branch. 
/branches/v1 is a cp of trunk at some point in the past, then /tags/v1_1 
is a cp of /branches/v1 after some work, then the work continued in 
/branches/v1 (say it's basically v1_2 now, but still in the v1 
directory).  Hope that makes sense.

I svk cp /tags/v1_1 to /local so I can have a working branch for the 1.1 
version.  Later, I decide to bring /local up to the latest v1, so I 
smerge /branches/v1 /local, which updates the right files and commits 
them to /local.  I up in all my wc's and I'm happy.

Uh oh, I decide upgrading was a mistake, and I'd like to go back to 
v1_1.  After trying a million things, the only way I could figure out 
how to do this was to issue this:

svk merge -c -REV /local /local  (where REV is the explicit revision 
number of the upgrade smerge)

This undid the merge correctly.  First question:  Is that a remotely 
reasonable command to issue, with /local appearing twice?  It's a bummer 
I need to explicitly specify the revision to roll back there, but I 
guess it's not that big of a deal.  I expected to be able to do a 
"forced merge" between /tags/v1_1 and /local, if that makes sense.

svk up in the wc's, and I've rolled back.  Yay!

Now, I'd like to upgrade to v1 again.  In this test, nothing changed in 
v1, not sure if that matters.

svk smerge -C /branches/v1 /local
Empty merge.

Hmm.

svk smerge --baseless -C /branches/v1 /local
Empty merge.

Hmm.

Second question(s): I could probably get an explicit svk merge to work 
with the -REV syntax, but would that hose me later again?  What's the 
right way to do this?  At this point I just want to forget the whole 
rollback and continue on my merry way in /local with it being based on 
/branches/v1.  I can't get anything involving /branches/v1 and /local to 
work.

Help!

Thanks,
Chris



More information about the svk-users mailing list