
0. What is it?

	This is an EMX port of the Concurrent Versions System (CVS)
        Version 1.11, the fabulous "emx-new" branch.

	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.

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.
                                          repositories CVSROOT directory.
                cvs2log.cmd             - (Semi-)Automatically maintains ChangeLogs.
                tokenize.cmd            - Tokenizes read-only Rexx scripts in your

	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.

        info\
                intro.info              - An introduction to CVS.
                cvs.info                - The CVS reference manual.
                cvs-client.info         - The client/server protocol reference.

	man\
		man.1.gz		- The CVS command manual
		man.5.gz		- The CVS configuration manual

	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.

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. Be sure to specify
          the :local: keyword, e.g.: set CVSROOT=:local:c:/cvsfiles

	- 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.

	- To access the manual pages (with GNU man + roff + less), pick a
	  storage point for the files that go in the "man" directory. Usually
	  these files are placed into the common manual page directory, where
	  cvs.1.gz goes to "man1" subdirectory and cvs.5.gz is placed into
	  "man5".

	- 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". Failing to do it
          will result in your repository being accessible to everyone if they
          supply a username not listed in the passwd file.

	- 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).

        Updates since version 1.10.6 have been made by Andrew Belov
        <andrew_belov@mtu-net.ru>.

4. Availability.

        The most recent version will eventually become available at the ftp
        sites below:

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

        It may also be made available on CIS:

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

