If the changes which you are merging involve removing or adding some files, update -j will reflect such additions or removals.
For example:
cvs update -A touch a b c cvs add a b c ; cvs ci -m "added" a b c cvs tag -b branchtag cvs update -r branchtag touch d ; cvs add d rm a ; cvs rm a cvs ci -m "added d, removed a" cvs update -A cvs update -jbranchtag
After these commands are executed and a cvs commit is done, file a will be removed and file d added in the main branch.
Note that using a single static tag (-j
tagname
) rather than a dynamic tag
(-j branchname
) to merge changes
from a branch will usually not remove files which were removed on the
branch since cvsnt does not automatically add static tags to dead
revisions. The exception to this rule occurs when a static tag has been
attached to a dead revision manually. Use the branch tag to merge all
changes from the branch or use two static tags as merge endpoints to be
sure that all intended changes are propogated in the merge.