WORKING IN YOUR SANDBOX
* You cd and edit files in your sandbox as appropriate. When you want to commit your changes to the repository do: > cvs commit [file] > [sync_binary_dirtree.sh] (Obsolete) It is only necessary to run sync_binary_dirtree.sh if the binary repository has been updated or new dirs have been added to the source tree. You will be asked for any change notes. * To resynchronize your sandbox with the repository do: > cvs update -APd (the -d will download new directories as well) See the cvs man page for all switches and options. If a file has a conflict it will show as "C file" which means: A conflict was detected while trying to merge your changes to file with changes from the source repository. file (the copy in your working directory) is now the result of attempting to merge the two revisions; an unmodified copy of your file is also in your working directory, with the name .#file.revision where revision is the revi- sion that your modified file started from. * To add a file to the repository, first create the file in your sandbox and then do from the dir containing the file: > cvs add filename > cvs commit If you're adding a binary file, use the -kb option: > cvs add -kb file.doc If you forgot to use the -kb at add time, you can later do: > cvs admin -kb file.doc * To remove a file from the repository, first remove the file in your sandbox and then do from the dir containing the file: > cvs remove filename > cvs commit * To determine which files are up-to-date and which need to be committed: > cvs status [file] > cvs status -v [file] (see status and tagging info) * To see the revision history of a file: > cvs log sum_svc.c * To retrieve a static, read only copy of a previous version: > cvs update -r 1.2 filename * To revert your sandbox file to a previous revision: > cvs update -j sandbox_revision -j previous_revision GUI: ---------------------- There is a web page GUI at: http://helios.stanford.edu/cgi-bin/viewcvs.cgi/cvsroot/ Nice cvs GUI (linux4) at: xim:/usr/bin/lincvs
NOTES:
how to remove a directory
"CVS does not remove directories from the repository, because doing so would break the change tracking."
--CVS Manual
Here's what to do.
cd to the dir you want to remove in your sandbox rm each file and do for each file removed:
- cvs remove filename
finally do
- cvs commit
delete the dir (there will still be a CVS dir in it)
The next time the user does a cvs update -APd the dir will go away for them.
To add a dir:
- cvs add dirname cvs commit
The next time the user does a cvs update -APd they'll get the new dir and any files that you commited in it.
When you add a dir, remember to add the Makefile and add to the SUBDIRS in the parent dir Makefile.