A quick howto on accessing the d1x 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 <your source dir>

1.5) cvs -d ":pserver:readonly@reprehensible.net:/var/cvs/d1x" login
  When prompted for the password enter "readonly".
  (If you have full access, export CVS_RSH=ssh, and then use
  :ext:<user>@reprehensible.net:/var/cvs/d1x as the cvsroot)

2) cvs -d ":pserver:readonly@reprehensible.net:/var/cvs/d1x" checkout d1x
  This will retrieve the source into <current dir>/d1x
  (you may wish to look into the -z flag, ex "-z6" to compress the code for
  faster transmission)
  (note that this should only be done once.  After you already have the code,
  merely do a "cvs update -PAd" from the d1x 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.
  You should also do a cvs diff and examine all your changes to make sure no
  extra cruft is accidentally added.

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" <changed file(s)>
  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 <file>')
  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.
  
To those with full cvs access: only Vic and I (Matt) will handle the commiting
of patches posted to the list, in order to avoid any problems.

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.

Where to download CVS: http://www.cyclic.com/cyclic-pages/howget.html
