CVSROOT = "/your/cvs/root"
export CVSROOT
cvs -d /your/cvs/root checkout httpc
Command me $ cvs checkout httpc
cvs checkout: Updating httpc
U httpc/.cvsignore
U httpc/Makefile
U httpc/httpc.c
U httpc/poll-server
Command me $ cd httpc
Command me $ ls -a1
.
..
.cvsignore
Makefile
httpc.c
poll-server
Command me $
cvs add command.
Command me $ vim README
... The file README is created (as it did not exist) and a description is entered ...
Command me $ cvs update
cvs update: Updating .
? README -- CVS dosent know about this file
Command me $ cvs add README
cvs add: scheduling file `README' for addition
cvs add: use 'cvs commit' to add this file permanently
Command me $ cvs update
cvs update: Updating .
A README -- The file is marked for addition
Command me $ cvs commit README
... CVS prompts you for a log entry which is filled out ...
done
Checking in README;
initial revision: 1.1
done
Command me $
First thing you need to do is make sure no one else has made any changes to the file(s) you have worked on.
If someone else has changed the code, it is a good idea to test it again just to make sure it works. Repeat the process untillCommand me $ cvs update
cvs update: Updating .
U Makefile
RCS file: /u/src/master/httpc/httpc.c,v
retrieving revision 1.6
retrieving revision 1.7
Merging differences between 1.6 and 1.7 into httpc.c
M httpc.c
Command me $
Line by line:
U Makefile: Any file with a U before it means it has been Updated (someone else has changed it), and it has been updated on your computer too.
RCS file: ... retrieving revision 1.6 retrieving revision 1.7 Merging differences between 1.6 and 1.7 into httpc.c: This means someone else has edited httpc.c, a file you have also edited, and none of the changes conflict, so the file has been updated. If there IS a conflict, it will appear in the file and you will have to go in and edit it manually later
M httpc.c: This means you have Modified the file but you have not yet made the changes public (they have not beencommitedyet)
cvs update does not have anything to update.
Command me $ cd ..
Command me $ cvs commit httpc
... CVS will now ask you to fill out a log entry ...
Checking in httpc;
new revision: 1.8; previous revision: 1.7
Command me $
Now your changes have been commited and they will be visible to the rest of the group.
Command me $ cvs release -d httpc
... CVS asks you if you are sure ...
Command me $
cvs update the next time you want to work on it
And thats it! Your done!
Note: If CVS is allready set up, ignore the first two steps.
Command me $ cvs init
Command me $ cvs checkout CVSROOT
Command me $ vim CVSROOT/cvswrappers
... add lines like this *.jpg -k 'b' ...
Command me $ cvs commit CVSROOT -m "Added binary file types to cvswrappers"
Command me $ cvs release -d CVSROOT
Command me $ cd ~/code/my_project/
Command me $ cvs import my_project your_name release_tag
... Where you will replace my_project with the name you want your project to have with in the repository (its module name), your_name with something like your name, groups name, etc andnrelease_tag with something like "initial_import", or some other descriptive tag for this release ...
Here are the sites I used to compile this one. They say everythign this one does, just in more words and with a much better layout.