[EMAIL PROTECTED] wrote:

 
> I messed up a merge into a branch and need to roll that entire branch back
to my premerge tag.
> 
[...]

I would do it this way:  

(Assuming you have a top-level module called "everything"
and a pre merge tag called "pre_merge_tag" and your
branch tag is called "branchtag", substitute as appropriate.)

cvs checkout -r branchtag everything
cd everything
cvs tag post_bad_merge everything

# this next is the magic command to roll back
cvs update -j post_bad_merge -j pre_merge_tag everything

There really shouldn't be any conflicts at all.

If you're paranoid:

cvs diff -r pre_merge_tag 
(should get no diffs, or perhaps RCS keyword induced diffs at most.)

cvs commit -m 'rolled back to pre_merge_tag'

(If you get failed up to date check, that means somebody's 
committed something while you're trying to merge, you
want to prevent them from doing that.)

Hope it helps.

-- steve

Reply via email to