Home | History | Annotate | only in /src/external/gpl2/xcvs/dist
Up to higher level directory
NameDateSize
ABOUT-NLS10-Apr-200978.7K
acl/25-Feb-2026
aclocal.m408-Mar-201240.3K
AUTHORS07-Apr-20093.9K
BUGS07-Apr-20094.7K
build-aux/25-Feb-2026
ChangeLog07-Apr-2009215.6K
ChangeLog.zoo07-Apr-200928K
config.h.in08-Mar-201237.6K
configure08-Mar-2012494.7K
configure.in08-Mar-201252.2K
contrib/25-Feb-2026
COPYING07-Apr-200912.3K
COPYING.LIB07-Apr-200924.7K
cvs-format.el07-Apr-20094.6K
cvs.spec.in07-Apr-20097.4K
cvs2netbsd08-Apr-20092.1K
DEVEL-CVS07-Apr-20091.4K
diff/25-Feb-2026
doc/25-Feb-2026
FAQ07-Apr-2009336.8K
HACKING07-Apr-200917.6K
INSTALL08-Mar-201215.2K
lib/25-Feb-2026
m4/25-Feb-2026
maint-aux/25-Feb-2026
Makefile.am08-Mar-20121.7K
Makefile.in08-Mar-201227K
man/25-Feb-2026
MINOR-BUGS07-Apr-20092.8K
mktemp.sh07-Apr-20091.3K
NEWS07-Apr-200989.8K
PROJECTS07-Apr-20092.3K
README07-Apr-20095.2K
README.VMS07-Apr-20096.7K
src/25-Feb-2026
TESTS07-Apr-200912K
TODO07-Apr-200941.7K

README

      1 				CVS Kit
      2 
      3 	   Copyright (C) 1986-2005 Free Software Foundation, Inc.
      4 
      5 	   Portions Copyright (C) 1998-2005 Derek Price,
      6 	                                    & Ximbiot <http://ximbiot.com>.
      7 	   Portions Copyright (C) 1993-1994 Brian Berliner.
      8 	   Portions Copyright (C) 1992 Brian Berliner and Jeff Polk.
      9 	   Portions Copyright (C) 1989-1992 Brian Berliner.
     10 	   All Rights Reserved
     11 
     12     This program is free software; you can redistribute it and/or modify
     13     it under the terms of the GNU General Public License as published by
     14     the Free Software Foundation; either version 1, or (at your option)
     15     any later version.
     16 
     17     This program is distributed in the hope that it will be useful,
     18     but WITHOUT ANY WARRANTY; without even the implied warranty of
     19     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     20     GNU General Public License for more details.
     21 
     22 -------------------------------------------------------------------------------
     23 
     24 Welcome to CVS!
     25 
     26 If you have problems or think you have found a bug in CVS, see the
     27 section BUGS in the CVS manual (also known as Version Management with
     28 CVS by Per Cederqvist et al, or cvs.texinfo--see below for details).
     29 
     30 If you are thinking of submitting changes to CVS, see the
     31 file HACKING.
     32 
     33 Please consult the INSTALL-CVS file for information on tested
     34 configurations.  If you have a comment about an already tested
     35 configuration, or have tried CVS on a new configuration, please let us
     36 know as described in INSTALL-CVS.  Free software only works if we all help
     37 out.
     38 
     39 Finally, we cannot guarantee that this release will not completely wipe out
     40 all of your work from your system.  We do some simple testing before each
     41 release, but you are completely on your own.  We recommend testing this
     42 release on a source repository that is not critical to your work.  THIS
     43 SOFTWARE IS SUPPLIED COMPLETELY "AS IS".  NO WARRANTY....
     44 
     45 Thanks for your support!
     46 
     47 	-The CVS Team
     48 
     49 -------------------------------------------------------------------------------
     50 
     51 What Is CVS?
     52 
     53 CVS is a version control system, which allows you to keep old versions
     54 of files (usually source code), keep a log of who, when, and why
     55 changes occurred, etc., like RCS or SCCS.  It handles multiple
     56 developers, multiple directories, triggers to enable/log/control
     57 various operations, and can work over a wide area network.  The
     58 following tasks are not included; they can be done in conjunction with
     59 CVS but will tend to require some script-writing and software other
     60 than CVS: bug-tracking, build management (that is, make and make-like
     61 tools), and automated testing.
     62 
     63 And a whole lot more.  See the manual for more information.
     64 
     65 -------------------------------------------------------------------------------
     66 
     67 Notes to people upgrading from a previous release of CVS:
     68 
     69 See the NEWS file for a description of features new in this version.
     70 
     71 See the Compatibility section of the manual for information on
     72 compatibility between CVS versions.  The quick summary is that as long
     73 as you not using the optional watch features, there are no
     74 compatibility problems with CVS 1.5 or later.
     75 
     76 -------------------------------------------------------------------------------
     77 
     78 Installation:
     79 
     80 Please read the INSTALL-CVS file for installation instructions.  The brief
     81 summary is:
     82 
     83 	$ ./configure
     84 	$ make
     85 	(run the regression tests, if desired, via `make check')
     86 	$ make install
     87 	(create a repository if you don't already have one)
     88 
     89 The documentation is in the doc subdirectory.  cvs.texinfo is the main
     90 manual; cvs.info* and cvs.ps are the info and postscript versions,
     91 respectively, generated from cvs.texinfo.  The postscript version is
     92 for US letter size paper; we do this not because we consider this size
     93 "better" than A4, but because we believe that the US letter version
     94 will print better on A4 paper than the other way around. If you want a
     95 version formatted for A4, add the line @afourpaper near the start of
     96 cvs.texinfo and re-generate cvs.ps using TeX.
     97 
     98 -------------------------------------------------------------------------------
     99 
    100 * How do I get up-to-date information and information about other
    101 versions of CVS?
    102 
    103 See also 
    104 	http://cvs.nongnu.org
    105 	http://www.cvsnt.org
    106 
    107 Anyone can add themselves to the following mailing lists:
    108 
    109     bug-cvs:  This is the list which users are requested to send bug reports
    110       to.  General CVS development and design discussions also tend to take
    111       place on this list.
    112     info-cvs:  This list is intended for user questions, including general
    113       help requests.
    114     cvs-announce:  CVS release announcements and other major
    115       announcements about the project are sent to this list.
    116     cvs-announce-binaries:  Announcements are made to this list
    117       when binaries for various platforms are built and initially
    118       posted for download.
    119 
    120 To subscribe to any of these lists, send mail to <list>-request (a] nongnu.org
    121 or visit http://savannah.nongnu.org/mail/?group=cvs and follow the instructions
    122 for the list you wish to subscribe to.
    123 
    124 The newsgroup for CVS (and other configuration management systems) is
    125 comp.software.config-mgmt.  The gnu.cvs.help newsgroup is a 2-way mirror
    126 of the info-cvs (a] nongnu.org mailing list and gnu.cvs.bug is similarly a 2-way
    127 mirror of bug-cvs (a] nongnu.org.
    128 
    129 -------------------------------------------------------------------------------
    130 
    131 Credits:  See the AUTHORS file.
    132 

README.VMS

      1                              CVS port to VMS
      2 
      3 DISCLAIMER: This port must be considered experimental.  Although
      4 previous versions have been in use at one large site since about
      5 October, 1995, and the port is believed to be quite usable, various
      6 VMS-specific quirks are known and the port cannot be considered as
      7 mature as the ports to, say, Windows NT or unix.  As always, future
      8 progress of this port will depend on volunteer and customer interest.
      9 
     10 This port is of the CVS client only.  Or in other words, the port
     11 implements the full set of CVS commands, but cannot access
     12 repositories located on the local machine.  The repository must live
     13 on another machine (a Unix box) which runs a complete port of CVS.
     14 
     15 Most (all?) work to date has been done on OpenVMS/AXP 6.2.  Other VMS
     16 variants might work too.
     17 
     18 Provided that both your client and your server are recent (for
     19 example, CVS 1.9.27 or later), you shouldn't need GNU patch or any
     20 other executables other than CVS.EXE.
     21 
     22 Please send bug reports to bug-cvs (a] nongnu.org.
     23 
     24 As of CVS 1.5.something, this port passed most of the tests in
     25 [.src]sanity.sh.  I say "most" because some tests to not apply to the
     26 CVS client.  The tests were run by hand because the VMS POSIX shell
     27 was incapable of running the script.  The tests that sanity.sh
     28 provides are not conclusive but at least provides some assurance that
     29 the client is usable.
     30 
     31 To compile, you will need DEC C (CC), DEC UCX, and of course DCL
     32 installed on your machine.  Just type "@build" in the top level
     33 directory.  This will build the sources in each subdirectory, and link
     34 the executable [.src]cvs.exe
     35 
     36 Copy the executable to an appropriate directory, and define the symbol "CVS"
     37 in a .COM file which everyone running CVS will need to run.  Here's an example
     38 of what needs to be done.
     39 
     40 $ CVS :== $YOUR_DEVICE:[YOUR.DIRECTORY.CVS]CVS.EXE
     41 
     42 Accessing a remote repository can happen in several ways.
     43 
     44 1. pserver
     45 2. rsh - privileged (default)
     46 3. rsh - unprivileged (on VMS side)
     47 
     48 Here's how to do each of the above:
     49 
     50 -------------------------------------------------------------------------------
     51 1.  pserver.  This is the preferred way.  It works just as it is
     52 documented in the CVS manual (see the README file in the CVS
     53 distribution for more information on the manual).
     54 
     55 -------------------------------------------------------------------------------
     56 2. Using CVS internal rsh support (privileged)
     57 
     58 VMS's RSH is unusable for CVS's purposes (that is, the one in UCX.
     59 Don't know about Multinet).  However, there is code within CVS to
     60 emulate RSH for purposes of contacting a CVS server "in the usual way"
     61 via rshd.  Unfortunately, this requires the VMS CVS client to be
     62 installed with OPER privilege, by your system administrator.
     63 
     64 RSH uses privileged ports and trusted software/hosts to determine
     65 which user on the client side is trying to connect.  Part of this
     66 security is due to the fact that on VMS or UNIX, a non privileged
     67 process is not permitted to bind a socket to a privileged port.
     68 
     69 If rshd receives a connection on a non-privileged port, the connection is
     70 immediately aborted.  Only connections arriving from a privileged port will
     71 be authenticated and served.  The CVS client will therefore need privileges
     72 under VMS to produce such a connection.
     73 
     74 *** Please note that no careful examination has been done of the security
     75     implications of installing CVS with the OPER privilege.  If some hole
     76     exists, then by doing so, you will enable users who are already on
     77     your system to gain unauthorized privileges ***
     78 
     79 -------------------------------------------------------------------------------
     80 3. Using CVS internal rsh support (non-privileged)
     81 
     82 There is a workaround, but this is one case where I think the cure is worse
     83 than the disease.  If you patch an rshd to not care that the RSH originating
     84 port is "non-privileged", the CVS VMS client will allow you to define the
     85 logical CVS_RCMD_PORT to the port number where this patched rshd will be
     86 listening.  I leave the talk of patching rshd to the gentle reader and his/her
     87 friendly system administrator.
     88 
     89 If I put an entry in my /etc/services file:
     90 
     91 cvs_rcmd            4381/tcp        cvs_rcmd
     92 
     93 And add a line to /etc/inetd.conf, then restart inetd via "kill -1"
     94 
     95 cvs_rcmd  stream  tcp  nowait root /usr/sbin/tcpd  /usr/local/sbin/cvs_rcmd
     96 
     97 On the VMS side, you will have to do this:
     98 
     99 $ define CVS_RCMD_PORT 4381
    100 
    101 Then run CVS in the "usual way".
    102 
    103 Note that the patched rshd will need to be invoked via inetd as root, so it can
    104 authenticate and _become_ the intended user, the same as the regular rshd.
    105 
    106 ***Please note that you will be installing a security hole by doing this.***
    107 
    108 Please also note that this security hole is no larger than allowing a
    109 Macintosh, PC (OS/2, NT, etc.) to have it's hostname in any .rhosts file,
    110 as any user can create a privileged socket without authentication, under these
    111 environments.  In fact, existing ports of CVS to these environment use this
    112 to their advantage.
    113 
    114 -------------------------------------------------------------------------------
    115 Wildcard expansion is not yet implemented (i.e. CVS COMMIT *.c won't
    116 work.)  I think that expand_wild should be calling lib$findfile
    117 (util.c in gzip is said to provide an example), but noone has gotten
    118 around to implementing this.
    119 
    120 Log messages must be entered on the command line using -m or -F.  You
    121 can use -e or define the logical EDITOR to cause CVS to try other
    122 editors (TPU.EXE or any other editor which wants DCL command parsing
    123 will not work) if you want to test what's available on your system.  I
    124 haven't tested this, but if you install vi or emacs, chances are it
    125 will probably work.  Just make sure the .EXE files are in a directory
    126 listed in VAXC$PATH (is this a typo for DCL$PATH?  Also, will a
    127 logical name work?).  If someone gets around to implementing it, we
    128 should probably be using the callable editors (e.g. TPU$TPU), although
    129 of course we also need interface(s) which are not locked into any
    130 particular editors.
    131 
    132 ----------------------------------------
    133 
    134 Notes regarding compiling on VAX/VMS 6.2 (not Alpha) (These are items
    135 which hopefully will have cleaner solutions in the future, but here is
    136 how to get around them for now):
    137 
    138 * Need to compile lib/getdate.c with vaxc instead of decc to avoid a
    139 compiler bugcheck.  Therefore one must add SYS$LIBRARY:VAXCRTL/LIBRARY
    140 to the link.
    141 
    142 * In src/ignore.c, change lstat to stat.  In vms/filesubr.c, change
    143 "#ifdef S_ISLNK" to "#if 0".
    144 
    145 * Ignore the warnings in vms/vmsmunch.c; the system include file
    146 declares something as an int when it should be void *.  Not *our*
    147 fault!
    148 
    149 * Remove the #define's of mode_t in vms/vms.h and pid_t in vms/pwd.h.
    150 Add "#include <sys/types.h>" in vms/pwd.h.
    151 
    152 Credits:
    153 
    154 Initial VMS port by Benjamin J. Lee <benjamin (a] cyclic.com>, Cyclic
    155 Software, October 1, 1995 (Update March 1, 1996).
    156