info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Checkout's over checkouts.


From: Jim.Hyslop
Subject: RE: Checkout's over checkouts.
Date: Tue, 29 Mar 2005 09:32:04 -0500

Euan Guttridge wrote:
> I want to check out a branch, then subsequent tagged files on 
> top of that
> branch. I do not want to -j merge the subsequent tagged files into the
> branch but do a wholesale replacement. What is the best method please?
Actually, a -j would do the job:

cvs update -A
[make sure there are no uncommitted files that may cause conflicts]
cvs update -jbranch-tag -jHEAD
cvs commit

The update command tells CVS "Take the difference between HEAD and the tip
of the branch, and apply it to the current directory". Looking at it
arithmetically, the delta obtained by "update -jX -jY" can be considered as
"Y-X", so you get:

cwd=HEAD
delta = branch - HEAD
cwd=cwd + delta
   =HEAD + (branch - HEAD)
   =branch - HEAD + HEAD
   =branch

Binary files might mess things up, though. For those, you'll have to do it
on a file-by-file basis:

cvs update -p -rbranch-tag [filename] > [filename]

-- 
Jim Hyslop
Senior Software Designer
Leitch Technology International Inc. ( http://www.leitch.com )
Columnist, C/C++ Users Journal ( http://www.cuj.com/experts )





reply via email to

[Prev in Thread] Current Thread [Next in Thread]