Adapted from the d1x cvs howto by Bradley Bell A quick howto on accessing the d2x source with CVS. 0) if you are using windows, or some other non unix os, and the standard command line cvs client, you will need to set your home directory. set home=c:\home\ or something like that. 1) cd 2) Log in to the cvs server: cvs -d :pserver:anonymous@cvs.icculus.org:/cvs/cvsroot login (password is "anonymous"). You can also try it this way: cvs -d :pserver:anonymous:anonymous@cvs.icculus.org:/cvs/cvsroot login Download the source code: cvs -z3 -d :pserver:anonymous@cvs.icculus.org:/cvs/cvsroot co d2x This will retrieve the source into /d2x (note that this should only be done once. After you already have the code, merely do a "cvs update -PAd" from the d2x dir to update to the latest code) 3) Make your changes and stuff. (Test them too). 4) You will want to do a cvs update before commiting, to make sure your changes still work with any other changes that may have been commited while you were working. 5) If you have readonly access: If you have only modified existing files, this should generate a usable diff: cvs -q diff -uRN . > mychanges.patch (hopefully you would use a more useful name, and remember to examine the result first, to make sure its ok.) If you have added files or directories, this won't be as useful since you can't use the 'cvs add' command to get cvs to recognize them. In this case you should diff manually, or just zip up the new files. Once you have the patches/zips made, the best way to get them included is to post a message to the descent-source list with the files attached, or an url to the files. (see notes below) -or- if you have full cvs access: cvs commit -m "summary of changes" or, if you want to commit all changes (in current, and sub dirs), just: cvs commit -m "summary of changes" (note, only the files that CVS knows about will be commited. *.o/*.bak/etc will be ignored. If you want to add a new file, use 'cvs add ') If you have made several unrelated changes, please commit each file seperatly with appropriate log messages, rather than blanketing them all in an ambiguous message. 6) Now that you have the source downloaded, you no longer need steps 1-2. Merely do a "cvs update" whenever you want to bring your tree up to the latest code, and continue from step 3. Notes: It is highly recommend that all developers subscribe to the descent-source mailing list. To signup, send an email to majordomo@warpcore.org with "subscribe descent-source your@email.address" in the body. If some of your changes are too close to other peoples, update or commit may cause a "conflict". You should probably talk with whoevers code it conflicts with, unless the solution is obvious. Of course, this is only a brief overview. It is recommended you browse the CVS documention as well. (info cvs, or equivilant). If you have questions, or think this howto could use some clarification, feel free to ask. A great book on cvs is available online: http://cvsbook.red-bean.com/cvsbook.html Where to download CVS: http://www.cyclic.com/cyclic-pages/howget.html