CVS is the Concurrent Versioning System. It's a commonly used way of storing source code because it keeps versions of all files so that nothing is ever lost, and usage by different people is tracked.
To use Moodle's CVS archive (as a developer) from a Unix machine, you first need to have an account on Sourceforge. For the example, let's assume your username is myusername and your password is mypassword. Secondly, you need to contact me (Martin Dougiamas) to get write access to particular directories.
With that done, you should have all the permissions you need, so you just need to set up your machine and download the current sources so you can start working on them.
Sourceforge CVS uses ssh as a transport layer for security, so you will have to set this CVS_RSH environment variable in your Unix shell:
setenv CVS_RSH ssh (for csh, tcsh etc)export CVS_RSH=ssh (for sh, bash etc)It's best to put this in your .bashrc or .cshrc so you don't have to type it all the time. Then, check out Moodle using this (all one line):
cvs -z3 -d:ext:myusername@cvs.moodle.sourceforge.net:/cvsroot/moodle co moodleDon't try to do run this first CVS command into an existing moodle directory - start fresh with a new directory.
Note that you will be prompted for mypassword with each CVS command. To avoid this, follow the Sourceforge directions about using authorized keys.
Now, you should have a new 'moodle' directory. You can rename it and move it around if you like. Go into it:
cd moodleAll the latest Moodle files should be in there. You can now change files in your copy. To compare your files against the main CVS copy on the server use cvs diff, eg:
cvs diff -c config-dist.php cvs diff -c langTo fetch the latest updates from the server use:
cvs update -dPTo copy your new files back to the server you would do:
cd lang/ca cvs commitYou will be prompted to add some comments (depends on your default text editor) ... add a comment and close the editor ... the files will be sent to Sourceforge and stored. Done!
To save more time you can put default arguments into a file called .cvsrc in your home directory. For example, mine contains:
diff -c update -dPTry 'cvs help' for more details ...
Version: $Id: features.html,v 1.2 2001/12/09 10:34:19 martin Exp $