The escential instructions are in http://www-d0.fnal.gov/software/cmgt/getting_started_at_d0.html setup D0RunII does several things. It sets the three main $BF... environmental variables, $BFDIST, $BFCURRENT and $BFARCH where: BFDIST is the root of the code distribution tree BFCURRENT is the version that you specified, often the one corresponding to current and BFARCH specifies the architecture of the machine you are on. $BFDIST/packages under which live the source code for all currently supported versions of all packages Packages are just logical groupings of code that a single developer or a small group would work on. Executables: $BFDIST/releases/$BFCURRENT/bin/$BFARCH Object libraries: $BFDIST/releases/$BFCURRENT/lib/$BFARCH Include files: $BFDIST/releases/$BFCURRENT/include/pkgname Documents: $BFDIST/releases/$BFCURRENT/doc Man pages: $BFDIST/releases/$BFCURRENT/man/... CVS fundamentals To use the D0 CVS repository, you first need read access to it. Then you > setup d0cvs This sets the environment variable $CVSROOT and also creates an alias for a few very handy utilities. The former specifies the location of the CVS repository. The utilities are: lscvs [pkg] gives you a directory listing of the toplevel of the repository, or a full listing of a package. lscvsd pkg shows you the directory structure of a package in cvs cvsstat [-vlR] [files...] gives a nice short version of the cvs status command. It must be used from within a checked out cvs package, such as you get via addpkg. cvsmod filters the cvsstat output to list only the modified files. Some more helpful hints: setup d0cvs set's up CVS, so you don't need to do that too. > cvs -H gives you general usage info on switches > cvs --help-command gives you a list of commands >cvs -H gives you usage info on a command ******************************************************* Date: Fri, 16 Nov 2001 15:52:06 -0600 From: Wendy Taylor To: Bruce Hoeneisen Cc: hefisk@fnal.gov, rpsmith@fnal.gov Subject: Re: help on cvs Hi Bruce, You can find some documentation on cvs by selecting the following links from the D0 At Work Page Under the Computing heading, select the Tools link Under the Code Managment heading, select the cvs link I find the CVS FAQ-O-Matic to be fairly useful. The subcategory Commands is the one I use most often. You can also select the Code Management link itself and there are several useful pages there. http://www-d0.fnal.gov/software/cmgt/getting_started_at_d0.html is quite useful for the fundamental cvs commands. I have just tagged the current version in the repository as v00-00-01. Now you can make changes to the 'header' version, while the version in there now can always be retrieved knowing the tag. If you want to add new files to the header version of find_jpsi_ks, you do the following. Put the file in the appropriate directory on your local disk. Type cvs add filename where filename is the name of the file you want to add. This will put a placeholder in the cvs directory for your new file. You must then type cvs commit -m "useful comment here explaining change" filename This updates the repository with your file. Now you can do cvs -n update to check your directory against the repository. If they are the same,you will see no information printed out by this command. Let me know if you have any problems. Best regards, Wendy ************************************** 5 July 2002: Putting Solenoid software into cvs. I'l try: setup n32 setup d0cvs echo $CVSROOT setup D0RunII p11.09.00 echo $BFDIST echo $BFCURRENT echo $BFARCH ls $BFDIST/packages lscvs mag_field cvs checkout -A mag_field cd mag_field copy files to appropriate directory in mag_field cvs add src/MeasuredField.cpp cvs commit -m "added by Bruce Hoeneisen" src/MeasuredField.cpp cvs add src/FastField.cpp cvs commit -m "added by Bruce Hoeneisen" src/FastField.cpp cvs add mag_field/MeasuredField.hpp cvs commit -m "added by Bruce Hoeneisen" mag_field/MeasuredField.hpp cvs add mag_field/FastField.hpp cvs commit -m "added by Bruce Hoeneisen" mag_field/FastField.hpp cvs add doc/README_MeasuredField.txt cvs commit -m "added by Bruce Hoeneisen" doc/README_MeasuredField.txt cvs add itest/test_MeasuredField_FastField.cpp cvs commit -m "added by Bruce Hoeneisen" itest/test_MeasuredField_FastField.cpp cvs add itest/Makefile_MeasuredField_FastField cvs commit -m "added by Bruce Hoeneisen" itest/Makefile_MeasuredField_FastField cvs -n update lscvs mag_field ************************** To : skulik Cc : melanson@fnal.gov, bruce1@fnal.gov Attchmnt: Subject : Re: solenoid field to cvs (fwd) ----- Message Text ----- Hi, I am ready to put into the cvs mag_field package the following files that reside in /RunII/home/bruce1/solenoid/B_2001/MeasuredField/release1 on d0mino: The header files: MeasuredField.hpp FastField.hpp the source files: MeasuredField.cpp FastField.cpp the documentation file: README_MeasuredField.txt and the software needed for stand-alone tests and to understand the usage: Makefile main.cpp I will use the cvs add extension/filename cvs commit -m "useful comment here explaining change" extension/filename cvs -n update commands to add these files to cvs. Questions: In the above commands, what exact "extension" should I use? Should I first create a new directory? Thanks for your help. *********************** On 16DEC2003: setup d0cvs setup D0RunII p13.06.00 setenv SCRATCH /tmp_root/783/quito2/bruce1/scratch newrel -t p13.06.00 test_mag_field cd test_mag_field addpkg -h mag_field edited fieldB.h in mag_field/mag_field/ ls $BFDIST/packages lscvs mag_field cvs checkout -A mag_field cd mag_field cvs add mag_field/fieldB.h cvs commit -m "changed headers from c to c++" mag_field/fieldB.h cvs -n update lscvs mag_field ****************************