In <[EMAIL PROTECTED]> "Jim.Hyslop" <[EMAIL PROTECTED]> writes:
>Irving Kimura wrote: >> I'm sorry for this very stupid question, but after spending a lot >> of time reading the CVS documentation, I still don't understand >> what *exactly* is the difference between update and checkout. >> Could someone explain it to me? >There is a little bit of overlap in the functionality. >You use checkout when you have nothing in your working directory yet, i.e. >when you're doing a fresh checkout. You use update to refresh an existing >checked-out project. >If you use the checkout command in an existing working directory, then it >will behave as if you issued the "update" command. >Clear as mud? :-) >Maybe an example will help: >mkdir fresh >cd fresh # at this point, there is no working directory >cvs update # error - there's nothing to update >cvs checkout mymodule >cd mymodule >[some time passes] >cvs update # refresh the working copy >cvs checkout # refresh the working copy Thanks! The fog is lifting. One question that remains has to do with update/checkout after tagging/rtagging. It is actually the exact same question about four different cases: cvs tag Some_Tag cvs tag -b Some_Branch_Tag cvs rtag Some_Tag MyProject cvs rtag -b Some_Branch_Tag MyProject I've read that one has to call either checkout or update (I can't remember which) right after doing cvs tag? (Something about cvs tag not affecting the working copy, so that if one wants to work on a tagged copy one has to checkout/update.) To be more concrete: % cd MyProject % ls -F CVS CVS/ % cvs -q update #### no output: everything is up-to-date % cvs -Q tag Some_Tag At this point, do I need to "cvs update" or "cvs checkout" if I want to work on the copy I just tagged? What about exactly the same situation for branched tags, i.e. everything as before, except that the last command is: % cvs -Q tag -b Some_Branch_Tag ? The manual (4.6, p. 37) actually recommends using cvs rtag rather than cvs tag for most situations, because rtag will tag even those checked-in files for which no copy exists in the current working directory. Hence the interest in the rtag case: % cd MyProject % ls -F CVS CVS/ % cvs -q update #### no output: everything is up-to-date % cvs -Q rtag Some_Tag MyProject How about now? Assuming that I am interested in working only on those files for which copies already exist in the working directory, do I need to do cvs update or cvs checkout at this point? What about the branch tag case? % cvs -Q rtag -b Some_Branch_Tag MyProject Many, many thanks! Irv _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs