Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
Brian Post wrote: > What is the difference between RTAG & TAG as the manual is vague. As with all the other commands that have an "r"-complement, the main difference is that the r-ones could be run without having a checked out working copy of the files you want to apply the command to (also requires you to supply a CVSROOT string in some way or another). The other difference is the way you specify what to work on, particularly from whose POV the addressing takes place: "r-commands" (e.g. rtag, rlog, rannotate, rdiff, checkout, import, etc.) expect module names as their arguments, i.e. paths relative to the repository's root. "non-r-commands" (e.g. tag, log, annotate, diff, update, add, commit, etc.) expect references to checked out working copies of files or directories as their arguments, i.e. paths relative to the current working directory. > 1. What is the general procedure after commiting CVSROOT files? Is a > restart of the server required? No, this is handled by the server internally. After committing a CVSROOT file you will see a message along the lines of "updating administrative file database" or something like that. Note that this does not automatically apply to any old file you care to commit into CVSROOT. By default it's only for the built-in ones. If you want to have that for your own files you have to add the respective file names to the CVSROOT/checkoutlist file. > 2. Is RTAG more efficient to tag a whole tree Not sure. Maybe. For rtag CVS only has to traverse the repository. Tag needs to analyze the sandbox, too. > and be able to get all the files for that version? Not sure what you mean by that. You typically don't "get" files by tagging them. Tagging just does that: it puts a label on a specified revision of a given file. If you tag multiple files at once you effectively put a marker on a snapshot in time of that set of files. > 3. Why would you use TAG instead of RTAG? You should always use RTag with either the -r or -D options (and if you use -r the argument shouldn't be a branch). This is because otherwise CVS would simply put the new tag on the current HEAD revisions of the specified set of files. The problem there might not be immediately obvious but you have to realize that in a multi-developer environment HEAD is pretty much a moving target and you never really know which revision it will be. Thus, if you are in situation where the set of revisions you want to tag could not sensibly be specified using an existing tag or a timestamp, you would simply make sure you checkout exactly those revisions you need (make them sticky if necessary) and then perform the tagging on those files using Tag instead of RTag. Most of the time tag is the safer/easier bet. You get what you see without having to jump through hoops figuring out how to safely identify the set of revisions you want to tag. The drawback is that you couldn't use virtual modules and thus might have to run Tag more often where with RTag a single invokation would have sufficed. Hope this helps. -- Oliver ---- ------------------ JID: ogiesen at jabber.org ICQ: 18777742 (http://wwp.icq.com/18777742)