Linus Tolke wrote: > I want a note in the (cvs)Merging adds and removals also. That is where I > look if I want to know how the handling of added and removed files is made > when you merge branches. > [snip] Okay, I took Linus' advice to heart. Comments anybody? Derek -- Derek Price CVS Solutions Architect ( http://CVSHome.org ) mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com ) -- 105. I don't suffer from insanity. I enjoy every minute of it.
Index: cvs.texinfo =================================================================== RCS file: /home2/cvsroot/ccvs/doc/cvs.texinfo,v retrieving revision 1.502 diff -u -r1.502 cvs.texinfo --- cvs.texinfo 2000/11/13 20:50:15 1.502 +++ cvs.texinfo 2000/12/06 20:06:53 @@ -4152,8 +4152,8 @@ @cindex -j (merging branches) You can merge changes made on a branch into your working copy by giving -the @samp{-j @var{branch}} flag to the @code{update} command. With one -@samp{-j @var{branch}} option it merges the changes made between the +the @samp{-j @var{branchname}} flag to the @code{update} subcommand. With one +@samp{-j @var{branchname}} option it merges the changes made between the point where the branch forked and newest revision on that branch (into your working copy). @@ -4200,7 +4200,7 @@ you might be getting more conflicts than strictly necessary. See @ref{Merging and keywords}, for information on how to avoid this. -The @code{checkout} command also supports the @samp{-j @var{branch}} flag. The +The @code{checkout} command also supports the @samp{-j @var{branchname}} flag. The same effect as above could be achieved with this: @example @@ -4208,6 +4208,9 @@ $ cvs commit -m "Included R1fix" @end example +It should be noted that @code{update -j @var{tagname}} will also work but may +not produce the desired result. @xref{Merging adds and removals}, for more. + @node Merging more than once @section Merging from a branch several times @@ -4354,6 +4357,15 @@ file @file{a} will be removed and file @file{d} added in the main branch. @c (which was determined by trying it) +Note that using a single static tag (@samp{-j @var{tagname}}) +rather than a dynamic tag (@samp{-j @var{branchname}}) to merge +changes from a branch will usually not remove files which were removed on the +branch since @sc{cvs} 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. + @c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @node Merging and keywords @section Merging and keywords @@ -10182,6 +10194,11 @@ ancestor revision is the common ancestor of the revision which the working directory is based on, and the revision specified in the @samp{-j} option. + +Note that using a single @samp{-j @var{tagname}} option rather than +@samp{-j @var{branchname}} to merge changes from a branch will +often not remove files which were removed on the branch. +@xref{Merging adds and removals}, for more. In addition, each @samp{-j} option can contain an optional date specification which, when used with branches, can