Deleted Added
full compact
cvs.texinfo (32896) cvs.texinfo (34461)
1\input texinfo @c -*-texinfo-*-
2@comment Documentation for CVS.
3@comment Copyright (C) 1992, 1993 Signum Support AB
4@comment Copyright (C) 1993 Free Software Foundation, Inc.
5
6@comment This file is part of the CVS distribution.
7
8@comment CVS is free software; you can redistribute it and/or modify

--- 138 unchanged lines hidden (view full) ---

147CVS and the Real World.
148-----------------------
149* Binary files:: CVS can handle binary files
150* Multiple developers:: How CVS helps a group of developers
151* Revision management:: Policy questions for revision management
152* Keyword substitution:: CVS can include the revision inside the file
153* Tracking sources:: Tracking third-party sources
154* Builds:: Issues related to CVS and builds
1\input texinfo @c -*-texinfo-*-
2@comment Documentation for CVS.
3@comment Copyright (C) 1992, 1993 Signum Support AB
4@comment Copyright (C) 1993 Free Software Foundation, Inc.
5
6@comment This file is part of the CVS distribution.
7
8@comment CVS is free software; you can redistribute it and/or modify

--- 138 unchanged lines hidden (view full) ---

147CVS and the Real World.
148-----------------------
149* Binary files:: CVS can handle binary files
150* Multiple developers:: How CVS helps a group of developers
151* Revision management:: Policy questions for revision management
152* Keyword substitution:: CVS can include the revision inside the file
153* Tracking sources:: Tracking third-party sources
154* Builds:: Issues related to CVS and builds
155* Special Files:: Devices, links and other non-regular files
155
156References.
157-----------
158* CVS commands:: CVS commands share some things
159* Invoking CVS:: Quick reference to CVS commands
160* Administrative files:: Reference manual for the Administrative files
161* Environment variables:: All environment variables which affect CVS
162* Compatibility:: Upgrading CVS versions

--- 556 unchanged lines hidden (view full) ---

719information. Note that the repository is not a
720subdirectory of the working directory, or vice versa;
721they should be in separate locations.
722@c Need some example, e.g. repository
723@c /usr/local/cvsroot; working directory
724@c /home/joe/sources. But this node is too long
725@c as it is; need a little reorganization...
726
156
157References.
158-----------
159* CVS commands:: CVS commands share some things
160* Invoking CVS:: Quick reference to CVS commands
161* Administrative files:: Reference manual for the Administrative files
162* Environment variables:: All environment variables which affect CVS
163* Compatibility:: Upgrading CVS versions

--- 556 unchanged lines hidden (view full) ---

720information. Note that the repository is not a
721subdirectory of the working directory, or vice versa;
722they should be in separate locations.
723@c Need some example, e.g. repository
724@c /usr/local/cvsroot; working directory
725@c /home/joe/sources. But this node is too long
726@c as it is; need a little reorganization...
727
727@cindex :local:
728@cindex :local:, setting up
728@sc{Cvs} can access a repository by a variety of
729means. It might be on the local computer, or it might
730be on a computer across the room or across the world.
731To distinguish various ways to access a repository, the
732repository name can start with an @dfn{access method}.
733For example, the access method @code{:local:} means to
734access a repository directory, so the repository
735@code{:local:/usr/local/cvsroot} means that the

--- 1317 unchanged lines hidden (view full) ---

2053@c FIXME: there should be a way to specify the
2054@c program in CVSROOT, not CVS_SERVER, so that one can use
2055@c different ones for different roots. e.g. ":server;cvs=cvs-1.6:"
2056@c instead of ":server:".
2057
2058There is no need to edit @code{inetd.conf} or start a
2059@sc{cvs} server daemon.
2060
729@sc{Cvs} can access a repository by a variety of
730means. It might be on the local computer, or it might
731be on a computer across the room or across the world.
732To distinguish various ways to access a repository, the
733repository name can start with an @dfn{access method}.
734For example, the access method @code{:local:} means to
735access a repository directory, so the repository
736@code{:local:/usr/local/cvsroot} means that the

--- 1317 unchanged lines hidden (view full) ---

2054@c FIXME: there should be a way to specify the
2055@c program in CVSROOT, not CVS_SERVER, so that one can use
2056@c different ones for different roots. e.g. ":server;cvs=cvs-1.6:"
2057@c instead of ":server:".
2058
2059There is no need to edit @code{inetd.conf} or start a
2060@sc{cvs} server daemon.
2061
2061@cindex :server:
2062@cindex :ext:
2062@cindex :server:, setting up
2063@cindex :ext:, setting up
2063There are two access methods that you use in CVSROOT
2064for rsh. @code{:server:} specifies an internal rsh
2065client, which is supported only by some CVS ports.
2066@code{:ext:} specifies an external rsh program. By
2067default this is @code{rsh} but you may set the
2068@code{CVS_RSH} environment variable to invoke another
2069program which can access the remote server (for
2070example, @code{remsh} on HP-UX 9 because @code{rsh} is

--- 208 unchanged lines hidden (view full) ---

2279@c Also note that htpasswd, at least the version I had,
2280@c likes to clobber the third field.
2281
2282@node Password authentication client
2283@subsubsection Using the client with password authentication
2284@cindex Login (subcommand)
2285@cindex password client, using
2286@cindex authenticated client, using
2064There are two access methods that you use in CVSROOT
2065for rsh. @code{:server:} specifies an internal rsh
2066client, which is supported only by some CVS ports.
2067@code{:ext:} specifies an external rsh program. By
2068default this is @code{rsh} but you may set the
2069@code{CVS_RSH} environment variable to invoke another
2070program which can access the remote server (for
2071example, @code{remsh} on HP-UX 9 because @code{rsh} is

--- 208 unchanged lines hidden (view full) ---

2280@c Also note that htpasswd, at least the version I had,
2281@c likes to clobber the third field.
2282
2283@node Password authentication client
2284@subsubsection Using the client with password authentication
2285@cindex Login (subcommand)
2286@cindex password client, using
2287@cindex authenticated client, using
2287@cindex :pserver:
2288@cindex :pserver:, setting up
2288Before connecting to the server, the client must @dfn{log
2289in} with the command @code{cvs login}. Logging in
2290verifies a password with the server, and also records
2291the password for later transactions with the server.
2292The @code{cvs login} command needs to know the
2293username, server hostname, and full repository path,
2294and it gets this information from the repository
2295argument or the @code{CVSROOT} environment variable.

--- 116 unchanged lines hidden (view full) ---

2412(i.e., user read-only) file. If you want real
2413security, get Kerberos.
2414
2415@node GSSAPI authenticated
2416@subsection Direct connection with GSSAPI
2417
2418@cindex GSSAPI
2419@cindex security, GSSAPI
2289Before connecting to the server, the client must @dfn{log
2290in} with the command @code{cvs login}. Logging in
2291verifies a password with the server, and also records
2292the password for later transactions with the server.
2293The @code{cvs login} command needs to know the
2294username, server hostname, and full repository path,
2295and it gets this information from the repository
2296argument or the @code{CVSROOT} environment variable.

--- 116 unchanged lines hidden (view full) ---

2413(i.e., user read-only) file. If you want real
2414security, get Kerberos.
2415
2416@node GSSAPI authenticated
2417@subsection Direct connection with GSSAPI
2418
2419@cindex GSSAPI
2420@cindex security, GSSAPI
2420@cindex :gserver:
2421@cindex :gserver:, setting up
2421GSSAPI is a generic interface to network security
2422systems such as Kerberos 5.
2423If you have a working GSSAPI library, you can have
2424@sc{cvs} connect via a direct @sc{tcp} connection,
2425authenticating with GSSAPI.
2426
2427To do this, @sc{cvs} needs to be compiled with GSSAPI
2428support; when configuring @sc{cvs} it tries to detect

--- 36 unchanged lines hidden (view full) ---

2465cvs -d :gserver:chainsaw.yard.com:/usr/local/cvsroot checkout foo
2466@end example
2467
2468@node Kerberos authenticated
2469@subsection Direct connection with kerberos
2470
2471@cindex kerberos
2472@cindex security, kerberos
2422GSSAPI is a generic interface to network security
2423systems such as Kerberos 5.
2424If you have a working GSSAPI library, you can have
2425@sc{cvs} connect via a direct @sc{tcp} connection,
2426authenticating with GSSAPI.
2427
2428To do this, @sc{cvs} needs to be compiled with GSSAPI
2429support; when configuring @sc{cvs} it tries to detect

--- 36 unchanged lines hidden (view full) ---

2466cvs -d :gserver:chainsaw.yard.com:/usr/local/cvsroot checkout foo
2467@end example
2468
2469@node Kerberos authenticated
2470@subsection Direct connection with kerberos
2471
2472@cindex kerberos
2473@cindex security, kerberos
2473@cindex :kserver:
2474@cindex :kserver:, setting up
2474The easiest way to use kerberos is to use the kerberos
2475@code{rsh}, as described in @ref{Connecting via rsh}.
2476The main disadvantage of using rsh is that all the data
2477needs to pass through additional programs, so it may be
2478slower. So if you have kerberos installed you can
2479connect via a direct @sc{tcp} connection,
2480authenticating with kerberos.
2481

--- 2244 unchanged lines hidden (view full) ---

4726to the command are, in order, the @var{tagname},
4727@var{operation} (@code{add} for @code{tag},
4728@code{mov} for @code{tag -F}, and @code{del} for
4729@code{tag -d}), @var{repository}, and any remaining are
4730pairs of @var{filename} @var{revision}. A non-zero
4731exit of the filter program will cause the tag to be
4732aborted.
4733
2475The easiest way to use kerberos is to use the kerberos
2476@code{rsh}, as described in @ref{Connecting via rsh}.
2477The main disadvantage of using rsh is that all the data
2478needs to pass through additional programs, so it may be
2479slower. So if you have kerberos installed you can
2480connect via a direct @sc{tcp} connection,
2481authenticating with kerberos.
2482

--- 2244 unchanged lines hidden (view full) ---

4727to the command are, in order, the @var{tagname},
4728@var{operation} (@code{add} for @code{tag},
4729@code{mov} for @code{tag -F}, and @code{del} for
4730@code{tag -d}), @var{repository}, and any remaining are
4731pairs of @var{filename} @var{revision}. A non-zero
4732exit of the filter program will cause the tag to be
4733aborted.
4734
4735Here is an example of using taginfo to log tag and rtag
4736commands. In the taginfo file put:
4737
4738@example
4739ALL /usr/local/cvsroot/CVSROOT/loggit
4740@end example
4741
4742Where @file{/usr/local/cvsroot/CVSROOT/loggit} contains the
4743following script:
4744
4745@example
4746#!/bin/sh
4747echo "$@@" >>/home/kingdon/cvsroot/CVSROOT/taglog
4748@end example
4749
4734@node annotate
4735@section Annotate command
4736@cindex annotate (subcommand)
4737
4738@deffn Command {cvs annotate} [@code{-flR}] [@code{-r rev}|@code{-D date}] files @dots{}
4739
4740For each file in @var{files}, print the head revision
4741of the trunk, together with information on the last

--- 1094 unchanged lines hidden (view full) ---

5836@code{cvs watch add} command, and establishes a temporary watch for the
5837user on @var{files}; CVS will remove the watch when @var{files} are
5838@code{unedit}ed or @code{commit}ted. If the user does not wish to
5839receive notifications, she should specify @code{-a none}.
5840
5841The @var{files} and options are processed as for the @code{cvs
5842watch} commands.
5843
4750@node annotate
4751@section Annotate command
4752@cindex annotate (subcommand)
4753
4754@deffn Command {cvs annotate} [@code{-flR}] [@code{-r rev}|@code{-D date}] files @dots{}
4755
4756For each file in @var{files}, print the head revision
4757of the trunk, together with information on the last

--- 1094 unchanged lines hidden (view full) ---

5852@code{cvs watch add} command, and establishes a temporary watch for the
5853user on @var{files}; CVS will remove the watch when @var{files} are
5854@code{unedit}ed or @code{commit}ted. If the user does not wish to
5855receive notifications, she should specify @code{-a none}.
5856
5857The @var{files} and options are processed as for the @code{cvs
5858watch} commands.
5859
5860@strong{Caution:} If the @var{PreservePermissions}
5861option is enabled in the repository (@pxref{config}),
5862CVS will not change the permissions on any of the
5863@var{files}. The reason for this change is to ensure
5864that using @samp{cvs edit} does not interfere with the
5865ability to store file permissions in the CVS
5866repository.
5867
5844@end deffn
5845
5846Normally when you are done with a set of changes, you
5847use the @code{cvs commit} command, which checks in your
5848changes and returns the watched files to their usual
5849read-only state. But if you instead decide to abandon
5850your changes, or not to make any changes, you can use
5851the @code{cvs unedit} command.

--- 883 unchanged lines hidden (view full) ---

6735@c He has changed providers in the past; a search engine search
6736@c for "Peter Ziobrzynski" probably won't get too many
6737@c spurious hits :-). A more stable URL might be
6738@c ftp://ftp.uu.net/pub/cmvc/mk). But I'm not sure
6739@c there is any point in mentioning them here unless they
6740@c can work with CVS.
6741
6742@c ---------------------------------------------------------------------
5868@end deffn
5869
5870Normally when you are done with a set of changes, you
5871use the @code{cvs commit} command, which checks in your
5872changes and returns the watched files to their usual
5873read-only state. But if you instead decide to abandon
5874your changes, or not to make any changes, you can use
5875the @code{cvs unedit} command.

--- 883 unchanged lines hidden (view full) ---

6759@c He has changed providers in the past; a search engine search
6760@c for "Peter Ziobrzynski" probably won't get too many
6761@c spurious hits :-). A more stable URL might be
6762@c ftp://ftp.uu.net/pub/cmvc/mk). But I'm not sure
6763@c there is any point in mentioning them here unless they
6764@c can work with CVS.
6765
6766@c ---------------------------------------------------------------------
6767@node Special Files
6768@chapter Special Files
6769
6770In normal circumstances, CVS works only with regular
6771files. Every file in a project is assumed to be
6772persistent; it must be possible to open, read and close
6773them; and so on. CVS also ignores file permissions and
6774ownerships, leaving such issues to be resolved by the
6775developer at installation time. In other words, it is
6776not possible to "check in" a device into a repository;
6777if the device file cannot be opened, CVS will refuse to
6778handle it. Files also lose their ownerships and
6779permissions during repository transactions.
6780
6781If the configuration variable @var{PreservePermissions}
6782(@pxref{config}) is set in the repository, CVS will
6783preserve file permissions and ownership across
6784repository transactions, and will permit checkin and
6785checkout of special files and symbolic links.
6786
6787Using this option affects the behavior of CVS in
6788several ways. First, some of the new operations
6789supported by CVS are not accessible to all users. In
6790particular, file ownership and special file
6791characteristics may only be changed by the superuser.
6792When the @var{PreservePermissions} configuration
6793variable is set, therefore, users will have to be
6794`root' in order to perform CVS operations.
6795
6796A more subtle difference is that CVS considers a file
6797to have changed only if its contents have changed
6798(specifically, if the modification time of the working
6799file does not match that of the repository's file).
6800Therefore, if only the permissions or ownership have
6801changed, or if a device's major or minor numbers have
6802changed, CVS will not notice. In order to commit such
6803a change to the repository, you must force the commit
6804with @samp{cvs commit -f}. This also means that if a
6805file's permissions have changed and the repository file
6806is newer than the working copy, performing @samp{cvs
6807update} will silently change the permissions on the
6808working copy.
6809
6810It is worth noting that only regular files may
6811be merged, for reasons that hopefully are obvious. If
6812@samp{cvs update} or @samp{cvs checkout -j} attempts to
6813merge a symbolic link with a regular file, or two
6814device files for different kinds of devices, CVS will
6815report a conflict and refuse to perform the merge. At
6816the same time, @samp{cvs diff} will not report any
6817differences between these files, since no meaningful
6818textual comparisons can be made on files which contain
6819no text.
6820
6821The PreservePermissions features do not work with
6822client/server @sc{cvs}. Another limitation is that
6823hard links must be to other files within the same
6824directory; hard links across directories are not
6825supported.
6826
6827@c ---------------------------------------------------------------------
6743@node CVS commands
6744@appendix Guide to CVS commands
6745
6746This appendix describes the overall structure of
6747@sc{cvs} commands, and describes some commands in
6748detail (others are described elsewhere; for a quick
6749reference to @sc{cvs} commands, @pxref{Invoking CVS}).
6750@c The idea is that we want to move the commands which

--- 2361 unchanged lines hidden (view full) ---

9112support the unidiff format. Remember that old versions
9113of the @code{patch} program can't handle the unidiff
9114format, so if you plan to post this patch to the net
9115you should probably not use @samp{-u}.
9116
9117@item -V @var{vn}
9118Expand keywords according to the rules current in
9119@sc{rcs} version @var{vn} (the expansion format changed with
6828@node CVS commands
6829@appendix Guide to CVS commands
6830
6831This appendix describes the overall structure of
6832@sc{cvs} commands, and describes some commands in
6833detail (others are described elsewhere; for a quick
6834reference to @sc{cvs} commands, @pxref{Invoking CVS}).
6835@c The idea is that we want to move the commands which

--- 2361 unchanged lines hidden (view full) ---

9197support the unidiff format. Remember that old versions
9198of the @code{patch} program can't handle the unidiff
9199format, so if you plan to post this patch to the net
9200you should probably not use @samp{-u}.
9201
9202@item -V @var{vn}
9203Expand keywords according to the rules current in
9204@sc{rcs} version @var{vn} (the expansion format changed with
9120@sc{rcs} version 5).
9205@sc{rcs} version 5). Note that this option is no
9206longer accepted. CVS will always expand keywords the
9207way that @sc{rcs} version 5 does.
9121@end table
9122
9123@c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9124@node rdiff examples
9125@appendixsubsec rdiff examples
9126
9127Suppose you receive mail from @t{foo@@bar.com} asking for an
9128update from release 1.2 to 1.4 of the tc compiler. You

--- 607 unchanged lines hidden (view full) ---

9736@node Invoking CVS
9737@appendix Quick reference to CVS commands
9738@cindex Command reference
9739@cindex Reference, commands
9740@cindex Invoking CVS
9741
9742This appendix describes how to invoke @sc{cvs}, with
9743references to where each command or feature is
9208@end table
9209
9210@c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9211@node rdiff examples
9212@appendixsubsec rdiff examples
9213
9214Suppose you receive mail from @t{foo@@bar.com} asking for an
9215update from release 1.2 to 1.4 of the tc compiler. You

--- 607 unchanged lines hidden (view full) ---

9823@node Invoking CVS
9824@appendix Quick reference to CVS commands
9825@cindex Command reference
9826@cindex Reference, commands
9827@cindex Invoking CVS
9828
9829This appendix describes how to invoke @sc{cvs}, with
9830references to where each command or feature is
9744described in detail. Other relevant references are the
9745@samp{--help}/@samp{-H} option to @sc{cvs}
9746(@pxref{Global options}) and @ref{Index}.
9831described in detail. For other references run the
9832@code{cvs --help} command, or see @ref{Index}.
9747
9833
9834A @sc{cvs} command looks like:
9835
9836@example
9837cvs [ @var{global_options} ] @var{command} [ @var{command_options} ] [ @var{command_args} ]
9838@end example
9839
9840Global options:
9841
9842@table @code
9843@item --allow-root=@var{rootdir}
9844Specify legal @sc{cvsroot} directory (server only) (not
9845in @sc{cvs} 1.9 and older). See @ref{Password
9846authentication server}.
9847
9848@item -a
9849Authenticate all communication (client only) (not in @sc{cvs}
98501.9 and older). See @ref{Global options}.
9851
9852@item -b
9853Specify RCS location (@sc{cvs} 1.9 and older). See
9854@ref{Global options}.
9855
9856@item -d @var{root}
9857Specify the @sc{cvsroot}. See @ref{Repository}.
9858
9859@item -e @var{editor}
9860Edit messages with @var{editor}. See @ref{Committing
9861your changes}.
9862
9863@item -f
9864Do not read the @file{~/.cvsrc} file. See @ref{Global
9865options}.
9866
9867@item -H
9868@itemx --help
9869Print a help message. See @ref{Global options}.
9870
9871@item -l
9872Do not log in CVSROOT/history file. See @ref{Global
9873options}.
9874
9875@item -n
9876Do not change any files. See @ref{Global options}.
9877
9878@item -Q
9879Cause the command to be really quiet. See @ref{Global options}.
9880
9881@item -q
9882Cause the command to be somewhat quiet. See @ref{Global options}.
9883
9884@item -r
9885Make new working files files read-only. See @ref{Global options}.
9886
9887@item -s @var{variable}=@var{value}
9888Set a user variable. See @ref{Variables}.
9889
9890@item -T @var{tempdir}
9891Put temporary files in @var{tempdir}. See @ref{Global
9892options}.
9893
9894@item -t
9895Trace @sc{cvs} execution. See @ref{Global options}.
9896
9897@item -v
9898@item --version
9899Display version and copyright information for @sc{cvs}.
9900
9901@item -w
9902Make new working files read-write. See @ref{Global
9903options}.
9904
9905@item -x
9906Encrypt all communication (client only). See
9907@ref{Global options}.
9908
9909@item -z @var{gzip-level}
9910Set the compression level (client only).
9911@c FIXME: what are the valid values for gzip-level.
9912@c And shouldn't this be documented in at least a
9913@c little bit of detail somewhere?
9914
9915@end table
9916
9917Keyword expansion modes (@pxref{Substitution modes}):
9918
9919@example
9920-kkv $@asis{}Id: file1,v 1.1 1993/12/09 03:21:13 joe Exp $
9921-kkvl $@asis{}Id: file1,v 1.1 1993/12/09 03:21:13 joe Exp harry $
9922-kk $@asis{}Id$
9923-kv file1,v 1.1 1993/12/09 03:21:13 joe Exp
9924-ko @i{no expansion}
9925-kb @i{no expansion, file is binary}
9926@end example
9927
9928Keywords (@pxref{Keyword list}):
9929
9930@example
9931$@asis{}Author: joe $
9932$@asis{}Date: 1993/12/09 03:21:13 $
9933$@asis{}Header: /home/files/file1,v 1.1 1993/12/09 03:21:13 joe Exp harry $
9934$@asis{}Id: file1,v 1.1 1993/12/09 03:21:13 joe Exp harry $
9935$@asis{}Locker: harry $
9936$@asis{}Name: snapshot_1_14 $
9937$@asis{}RCSfile: file1,v $
9938$@asis{}Revision: 1.1 $
9939$@asis{}Source: /home/files/file1,v $
9940$@asis{}State: Exp $
9941$@asis{}Log: file1,v $
9942Revision 1.1 1993/12/09 03:30:17 joe
9943Initial revision
9944
9945@end example
9946
9748@c The idea behind this table is that we want each item
9749@c to be a sentence or two at most. Preferably a
9750@c single line.
9751@c
9752@c In some cases refs to "foo options" are just to get
9753@c this thing written quickly, not because the "foo
9754@c options" node is really the best place to point.
9947@c The idea behind this table is that we want each item
9948@c to be a sentence or two at most. Preferably a
9949@c single line.
9950@c
9951@c In some cases refs to "foo options" are just to get
9952@c this thing written quickly, not because the "foo
9953@c options" node is really the best place to point.
9954Commands, command options, and command arguments:
9955
9755@table @code
9756@item add [@var{options}] [@var{files}@dots{}]
9757Add a new file/directory. See @ref{Adding files}.
9758
9759@table @code
9760@item -k @var{kflag}
9761Set keyword expansion.
9762

--- 5 unchanged lines hidden (view full) ---

9768Administration of history files in the repository. See
9769@ref{admin}.
9770@c This list omits those options which are not
9771@c documented as being useful with CVS. That might be
9772@c a mistake...
9773
9774@table @code
9775@item -b[@var{rev}]
9956@table @code
9957@item add [@var{options}] [@var{files}@dots{}]
9958Add a new file/directory. See @ref{Adding files}.
9959
9960@table @code
9961@item -k @var{kflag}
9962Set keyword expansion.
9963

--- 5 unchanged lines hidden (view full) ---

9969Administration of history files in the repository. See
9970@ref{admin}.
9971@c This list omits those options which are not
9972@c documented as being useful with CVS. That might be
9973@c a mistake...
9974
9975@table @code
9976@item -b[@var{rev}]
9776Set default branch.
9777@c FIXME: Should xref to a section which describes how
9778@c to use this with the vendor branch.
9977Set default branch. See @ref{Reverting local changes}.
9779
9780@item -c@var{string}
9781Set comment leader.
9782
9783@item -k@var{subst}
9784Set keyword substitution. See @ref{Keyword
9785substitution}.
9786

--- 417 unchanged lines hidden (view full) ---

10204@item -t
10205Top two diffs - last change made to the file. See
10206@ref{diff options}.
10207
10208@item -u
10209Unidiff output format. See @ref{rdiff options}.
10210
10211@item -V @var{vers}
9978
9979@item -c@var{string}
9980Set comment leader.
9981
9982@item -k@var{subst}
9983Set keyword substitution. See @ref{Keyword
9984substitution}.
9985

--- 417 unchanged lines hidden (view full) ---

10403@item -t
10404Top two diffs - last change made to the file. See
10405@ref{diff options}.
10406
10407@item -u
10408Unidiff output format. See @ref{rdiff options}.
10409
10410@item -V @var{vers}
10212Use RCS Version @var{vers} for keyword expansion. See
10411Use RCS Version @var{vers} for keyword expansion (obsolete). See
10213@ref{rdiff options}.
10214@end table
10215
10216@item release [@var{options}] @var{directory}
10217Indicate that a directory is no longer in use. See
10218@ref{release}.
10219
10220@table @code

--- 1267 unchanged lines hidden (view full) ---

11488@c Should we try to describe the problem with locks?
11489@c It seems like a digression for someone who just
11490@c wants to know how to make it work.
11491@c Another choice which might work for a single file
11492@c is to use "cvs -n update -p" which doesn't take
11493@c out locks (I think) but I don't see many advantages
11494@c of that and we might as well document something which
11495@c works for multiple files.
10412@ref{rdiff options}.
10413@end table
10414
10415@item release [@var{options}] @var{directory}
10416Indicate that a directory is no longer in use. See
10417@ref{release}.
10418
10419@table @code

--- 1267 unchanged lines hidden (view full) ---

11687@c Should we try to describe the problem with locks?
11688@c It seems like a digression for someone who just
11689@c wants to know how to make it work.
11690@c Another choice which might work for a single file
11691@c is to use "cvs -n update -p" which doesn't take
11692@c out locks (I think) but I don't see many advantages
11693@c of that and we might as well document something which
11694@c works for multiple files.
11496Here is an example (this should all be on one line):
11695Here is an example for unix (this should all be on one line):
11497
11498@example
11499^cyclic-pages (date; cat; (sleep 2; cd /u/www/local-docs;
11500 cvs -q update -d) &) >> $CVSROOT/CVSROOT/updatelog 2>&1
11501@end example
11502
11503This will cause checkins to repository directories
11504starting with @code{cyclic-pages} to update the checked

--- 301 unchanged lines hidden (view full) ---

11806@cindex SystemAuth, in CVSROOT/config
11807@item SystemAuth=@var{value}
11808If @var{value} is @samp{yes}, then pserver should check
11809for users in the system's user database if not found in
11810@file{CVSROOT/passwd}. If it is @samp{no}, then all
11811pserver users must exist in @file{CVSROOT/passwd}.
11812The default is @samp{yes}. For more on pserver, see
11813@ref{Password authenticated}.
11696
11697@example
11698^cyclic-pages (date; cat; (sleep 2; cd /u/www/local-docs;
11699 cvs -q update -d) &) >> $CVSROOT/CVSROOT/updatelog 2>&1
11700@end example
11701
11702This will cause checkins to repository directories
11703starting with @code{cyclic-pages} to update the checked

--- 301 unchanged lines hidden (view full) ---

12005@cindex SystemAuth, in CVSROOT/config
12006@item SystemAuth=@var{value}
12007If @var{value} is @samp{yes}, then pserver should check
12008for users in the system's user database if not found in
12009@file{CVSROOT/passwd}. If it is @samp{no}, then all
12010pserver users must exist in @file{CVSROOT/passwd}.
12011The default is @samp{yes}. For more on pserver, see
12012@ref{Password authenticated}.
12013
12014@cindex PreservePermissions, in CVSROOT/config
12015@item PreservePermissions=@var{value}
12016Enable support for saving special device files,
12017symbolic links, file permissions and ownerships in the
12018repository. The default value is @samp{no}.
12019@xref{Special Files} for the full implications of using
12020this keyword.
11814@end table
11815
11816@c ---------------------------------------------------------------------
11817@node Environment variables
11818@appendix All environment variables which affect CVS
11819@cindex Environment variables
11820@cindex Reference manual for variables
11821

--- 233 unchanged lines hidden (view full) ---

12055may help. If there is a particular error message which
12056you are seeing, then you can look up the message
12057alphabetically. If not, you can look through the
12058section on other problems to see if your problem is
12059mentioned there.
12060
12061@menu
12062* Error messages:: Partial list of CVS errors
12021@end table
12022
12023@c ---------------------------------------------------------------------
12024@node Environment variables
12025@appendix All environment variables which affect CVS
12026@cindex Environment variables
12027@cindex Reference manual for variables
12028

--- 233 unchanged lines hidden (view full) ---

12262may help. If there is a particular error message which
12263you are seeing, then you can look up the message
12264alphabetically. If not, you can look through the
12265section on other problems to see if your problem is
12266mentioned there.
12267
12268@menu
12269* Error messages:: Partial list of CVS errors
12270* Connection:: Trouble making a connection to a CVS server
12063* Other problems:: Problems not readily listed by error message
12064@end menu
12065
12066@ignore
12067@c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
12068@c @node Bad administrative files
12069@appendixsec Bad administrative files
12070

--- 318 unchanged lines hidden (view full) ---

12389exit 0
12390@end example
12391
12392@c "warning: foo was lost" and "no longer pertinent" (both normal).
12393@c Would be nice to write these up--they are
12394@c potentially confusing for the new user.
12395@end table
12396
12271* Other problems:: Problems not readily listed by error message
12272@end menu
12273
12274@ignore
12275@c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
12276@c @node Bad administrative files
12277@appendixsec Bad administrative files
12278

--- 318 unchanged lines hidden (view full) ---

12597exit 0
12598@end example
12599
12600@c "warning: foo was lost" and "no longer pertinent" (both normal).
12601@c Would be nice to write these up--they are
12602@c potentially confusing for the new user.
12603@end table
12604
12605@node Connection
12606@appendixsec Trouble making a connection to a CVS server
12607
12608This section concerns what to do if you are having
12609trouble making a connection to a @sc{cvs} server. If
12610you are running the @sc{cvs} command line client
12611running on Windows, first upgrade the client to
12612@sc{cvs} 1.9.12 or later. The error reporting in
12613earlier versions provided much less information about
12614what the problem was. If the client is non-Windows,
12615@sc{cvs} 1.9 should be fine.
12616
12617If the error messages are not sufficient to track down
12618the problem, the next steps depend largely on which
12619access method you are using.
12620
12621@table @code
12622@cindex :ext:, troubleshooting
12623@item :ext:
12624Try running the rsh program from the command line. For
12625example: "rsh servername cvs -v" should print @sc{cvs}
12626version information. If this doesn't work, you need to
12627fix it before you can worry about @sc{cvs} problems.
12628
12629@cindex :server:, troubleshooting
12630@item :server:
12631You don't need a command line rsh program to use this
12632access method, but if you have an rsh program around,
12633it may be useful as a debugging tool. Follow the
12634directions given for :ext:.
12635
12636@cindex :pserver:, troubleshooting
12637@item :pserver:
12638One good debugging tool is to "telnet servername
126392401". After connecting, send any text (for example
12640"foo" followed by return). If @sc{cvs} is working
12641correctly, it will respond with
12642
12643@example
12644cvs [pserver aborted]: bad auth protocol start: foo
12645@end example
12646
12647If this fails to work, then make sure inetd is working
12648right. Change the invocation in inetd.conf to run the
12649echo program instead of cvs. For example:
12650
12651@example
126522401 stream tcp nowait root /bin/echo echo hello
12653@end example
12654
12655After making that change and instructing inetd to
12656re-read its configuration file, "telnet servername
126572401" should show you the text hello and then the
12658server should close the connection. If this doesn't
12659work, you need to fix it before you can worry about
12660@sc{cvs} problems.
12661
12662On AIX systems, the system will often have its own
12663program trying to use port 2401. This is AIX's problem
12664in the sense that port 2401 is registered for use with
12665@sc{cvs}. I hear that there is an AIX patch available
12666to address this problem.
12667@end table
12668
12397@node Other problems
12398@appendixsec Other common problems
12399
12669@node Other problems
12670@appendixsec Other common problems
12671
12400Here is a list of problems which cannot be readily
12401looked up based on an error message. They are in no
12402particular order.
12672Here is a list of problems which do not fit into the
12673above categories. They are in no particular order.
12403
12404@itemize @bullet
12405@item
12406If you are running @sc{cvs} 1.9.18 or older, and
12407@code{cvs update} finds a conflict and tries to
12408merge, as described in @ref{Conflicts example}, but
12409doesn't tell you there were conflicts, then you may
12410have an old version of @sc{rcs}. The easiest solution

--- 570 unchanged lines hidden ---
12674
12675@itemize @bullet
12676@item
12677If you are running @sc{cvs} 1.9.18 or older, and
12678@code{cvs update} finds a conflict and tries to
12679merge, as described in @ref{Conflicts example}, but
12680doesn't tell you there were conflicts, then you may
12681have an old version of @sc{rcs}. The easiest solution

--- 570 unchanged lines hidden ---