
0. What is it?

	This is an EMX port of the Concurrent Versions System (CVS)
	Version 1.10 'Halibut' (client/server).

	Features include:
		* Full client (:ext:, :server: and :pserver:).
		* Full server (via rshd) and pserver (via inetd).
		* Documentation in .INF format.
		* Utility to maintain the password file (for
		  pserver authentication).
		* Rshd replacement for use with the server.
		* Direct execution of shell scripts, Rexx
		  scripts, #! scripts (including perl and sh) and
		  PM applications (e.g. PM editors).
		* Rexx scripts to control access to the repository,
		  to distribute commit messages, and to semi-
		  automatically maintain ChangeLogs.
		* Includes Murray Bishop's <mbishop@acnielsen.com.au>
		  patches.
		* Passes both local and remote sanity tests.
		* Patches for jCVS-4.7.2.

1. Contents.

	.\
		README			- You're just reading it.
		COPYING			- The GNU public license.

	bin\
		cvs.exe			- The CVS executable (client/server).
		rxrun.exe		- Runs Rexx scripts without a shell.
		rshd.exe		- An RSHD replacement.
		cvspw.exe		- Manipulates the passwd file.
		cvs2log.cmd		- (Semi-)Automatically maintains ChangeLogs.
		tokenize.cmd	- Tokenizes read-only Rexx scripts in your
						  repositories CVSROOT directory.

	book\
		intro.inf		- An introduction to CVS.
		cvs.inf			- The CVS reference manual.
		cvs-client.inf	- The client/server protocol reference.
		install.cmd		- Creates a folder with book objects for
						  the manuals.

	scripts\
		README			- Read this first.
		commitinfo.cmd	- Performs repository access control.
		loginfo.cmd		- Creates and distributes commit messages.
		verifymsg.cmd	- Just a template at this point.
		.cvsauthors		- Describes each committer.
		avail			- Describes repository access control.
		maildist		- Describes commit message distribution.
		fix-diff.awk	- Awk script to fix 'cvs diff -c' generated
						  diffs.

	src\
		BUILD			- Read this if you want to build CVS
						  yourself.
		diffs			- Patches to the Cyclic CVS 1.10 release.
		emx-new.zip		- The new EMX port.

	jCVS-4.7.2\
		INSTALL			- Read this first if you want to use jCVS.
		install.cmd		- Creates a jCVS folder and install the program
						  object and the HTML documentation.
		diffs			- Patches for jCVS 4.7.2.

2. Installation.

	- Edit CONFIG.SYS to add X:\CVS\BIN to your PATH. Make sure you
	  have the EMX 0.9c runtime (Fix 4) installed.

	The following two steps are only required for server and local
	installations. They are NOT required for client only installations.

	- Create a new directory that will serve as your repository.

	- Add the CVSROOT environment variable to your CONFIG.SYS:

		set CVSROOT=<your repository>

	  Path components are separated by forward slashes.

	- If you don't want to use TEDIT to edit your commit messages
	  and ChangeLogs, add "set CVSEDITOR=<your favorite editor>" to
	  CONFIG.SYS. Be sure to include any options and arguments your
	  editor might require. To use EPM, add "set CVSEDITOR=epm /m".
	  If you are using emacsclient, add "set CVSEDITOR=emacsclient".
	  Type C-x # to continue the commit.

	- Add the following environment variable to your CONFIG.SYS, if it
	  doesn't already exist:

		set LOGNAME=<your login name>
	  
	- Reboot.

	- To create book objects for the CVS documentation on your desktop
      run the install script in the BOOK directory (change to the BOOK
	  directory first).

	- For server and local installations, initialize your repository:

		cvs init

	- If you want repository access control, commit messages emailed
	  and/or ChangeLogs (semi-)automatically maintained, take a look
	  at the SCRIPTS directory.

	- You are now ready to use CVS in client and local modes.

	- To setup a server or pserver, go to the 'Autostart' page in your
	  TCP/IP configuration notebook and enable inetd.

	- Edit %ETC%\inetd.lst to add the line

		cmd tcp X:\CVS\BIN\RSHD

	  for a server and/or the line

		cvspserver tcp cvs --allow-root=<your repository> pserver

	  for a pserver. You also need to add the line

		cvspserver 2401/tcp

	  to %ETC%\services.

	  Note: You have re-do this step each time your TCP/IP configuration
	  is updated. A backup of %ETC%\inetd.lst is saved to %ETC%\inetd.bk?.

	- If you are using RSHD, go to the second 'Security' page in your
	  TCP/IP configuration notebook and add each host/user you want to
	  serve.

	- If you are setting up a pserver, you have to setup a passwd file:

		md work
		cd work
		cvs co CVSROOT
		cd CVSROOT
		cvspw -add <login name> <password>

	  Repeat the last line for each login name.

	  Edit the file checkoutlist to add the line:

		passwd

	  In file config uncomment the line "SystemAuth=no".

	- Finally add the file passwd to the repository and commit:

		cvs add passwd
		cvs commit -m "<your log message>"

	  You can now remove work\CVSROOT.

	- Reboot. Your server should now be able to accept requests.

3. Contacting the author.

	If you have any questions/suggestions/bug reports that are specific
	to this EMX port, send email to "Andreas Huber" <ahuber@ping.at>.
	For any questions about CVS in general, subscribe to the CVS mailing
	list (see http://www.cyclic.com for details).

4. Availability.

	The most recent version is usually available at the ftp sites below:

	ftp://hobbes.nmsu.edu/pub/incoming/cvs110.zip
	ftp://hobbes.nmsu.edu/pub/os2/unix/dev/cvs110.zip
	ftp://ftp.leo.org/pub/comp/os/os2/leo/gnu/devtools/cvs110.zip

	It will also be made available on CIS:

	Forum: OS2CDEV	Section: Development Tools	File: cvs110.zip
	Forum: GEROS2	Section: SW Engineering		File: cvs110.zip

