[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
If you are having trouble with CVS, this appendix may help. If there is a particular error message which you are seeing, then you can look up the message alphabetically. If not, you can look through the section on other problems to see if your problem is mentioned there.
F.1 Partial list of error messages | Partial list of CVS errors | |
F.2 Trouble making a connection to a CVS server | ||
F.3 Other common problems | Problems not readily listed by error message |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Here is a partial list of error messages that you may see from CVS. It is not a complete list---CVS is capable of printing many, many error messages, often with parts of them supplied by the operating system, but the intention is to list the common and/or potentially confusing error messages.
The messages are alphabetical, but introductory text such as `cvs update: ' is not considered in ordering them.
In some cases the list includes messages printed by old versions of CVS (partly because users may not be sure which version of CVS they are using at any particular moment).
file:line: Assertion 'text' failed
cvs command: authorization failed: server host rejected access
CVSROOT
specified is allowed by `--allow-root'
in `inetd.conf'. See 2.9.3 Direct connection with password authentication.
cvs command: conflict: removed file was modified by second party
cannot change permissions on temporary directory
Operation not permitted |
EPERM
error. If
you have any information to add, please let us know as
described in H. Dealing with bugs in CVS or this manual. If you experience this error
while using CVS, retrying the operation which
produced it should work fine.
cvs [server aborted]: Cannot check out files into the repository itself
TMPDIR
in
D. All environment variables which affect CVS, for how to set the
temporary directory.
cannot commit files as 'root'
cannot open CVS/Entries for reading: No such file or directory
cvs [init aborted]: cannot open CVS/Root: No such file or directory
cvs server: cannot open /root/.cvsignore: Permission denied
cvs [server aborted]: can't chdir(/root): Permission denied
cvs [checkout aborted]: cannot rename file file to CVS/,,file: Invalid argument
cvs [command aborted]: cannot start server via rcmd
:local:
, as described in 2. The Repository.
ci: file,v: bad diff output line: Binary files - and /tmp/T2a22651 differ
cvs checkout: could not check out file
co
program
(part of RCS) returned a failure. It should be
preceded by another error message, however it has been
observed without another error message and the cause is
not well-understood. With the current version of CVS,
which does not run co
, if this message occurs
without another error message, it is definitely a CVS
bug (see section H. Dealing with bugs in CVS or this manual).
cvs [login aborted]: could not find out home directory
HOME
, HOMEDRIVE
, and HOMEPATH
in
D. All environment variables which affect CVS.
cvs update: could not merge revision rev of file: No such file or directory
rcsmerge
program. Make
sure that it is in your PATH
, or upgrade to a
current version of CVS, which does not require
an external rcsmerge
program.
cvs [update aborted]: could not patch file: No such file or directory
patch
program. Make sure that it is in your
PATH
. Note that despite appearances the message
is not referring to whether it can find file.
If both the client and the server are running a current
version of CVS, then there is no need for an
external patch program and you should not see this
message. But if either client or server is running
CVS 1.9, then you need patch
.
cvs update: could not patch file; will refetch
dying gasps from server unexpected
end of file from server (consult above messages if any)
rsh
program and it exited with
an error. In this case the rsh
program should
have printed a message, which will appear before the
above message. For more information on setting up a
CVS client and server, see 2.9 Remote repositories.
cvs [update aborted]: EOF in key in RCS file file,v
cvs [checkout aborted]: EOF while looking for end of string in RCS file file,v
cvs commit: Executing 'mkmodules'
cvs commit: Rebuilding administrative file database |
If you see both messages, the database is being rebuilt
twice, which is unnecessary but harmless. If you wish
to avoid the duplication, and you have no versions of
CVS 1.7 or earlier in use, remove -i mkmodules
every place it appears in your modules
file. For more information on the modules
file,
see C.1 The modules file.
missing author
cvs [checkout aborted]: no such tag tag
*PANIC* administration files missing
rcs error: Unknown option: -x,v/
cvs [server aborted]: received broken pipe signal
'root' is not allowed to commit files
CVS_BADROOT
in `options.h' before
building CVS.
Too many arguments!
cvs [update aborted]: unexpected EOF reading file,v
cvs [login aborted]: unrecognized auth response from server
cvs commit: Up-to-date check failed for `file'
cvs
update
. So before proceeding with your cvs
commit
you need to cvs update
. CVS will merge
the changes that you made and the changes that the
other person made. If it does not detect any conflicts
it will report `M file' and you are ready
to cvs commit
. If it detects conflicts it will
print a message saying so, will report `C file',
and you need to manually resolve the
conflict. For more details on this process see
10.3 Conflicts example.
Usage: diff3 [-exEX3 [-i | -m] [-L label1 -L label3]] file1 file2 file3
Only one of [exEX3] allowed |
diff3
and rcsmerge
. Specifically
rcsmerge
was compiled to look for GNU diff3, but
it is finding unix diff3 instead. The exact text of
the message will vary depending on the system. The
simplest solution is to upgrade to a current version of
CVS, which does not rely on external
rcsmerge
or diff3
programs.
warning: unrecognized response `text' from cvs server
cvs commit: [time] waiting for user's lock in directory
cvs commit: warning: editor session failed
CVSEDITOR
environment variable to a small script
such as:
#!/bin/sh vi $* exit 0 |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This section concerns what to do if you are having trouble making a connection to a CVS server. If you are running the CVS command line client running on Windows, first upgrade the client to CVS 1.9.12 or later. The error reporting in earlier versions provided much less information about what the problem was. If the client is non-Windows, CVS 1.9 should be fine.
If the error messages are not sufficient to track down the problem, the next steps depend largely on which access method you are using.
:ext:
:server:
:pserver:
One good debugging tool is to "telnet servername 2401". After connecting, send any text (for example "foo" followed by return). If CVS is working correctly, it will respond with
cvs [pserver aborted]: bad auth protocol start: foo |
If instead you get:
Usage: cvs [cvs-options] command [command-options-and-arguments] ... |
then you're missing the `pserver' command at the end of the line in `inetd.conf'; check to make sure that the entire command is on one line and that it's complete.
Likewise, if you get something like:
Unknown command: `pserved' CVS commands are: add Add a new file/directory to the repository ... |
then you've misspelled `pserver' in some way. If it isn't obvious, check for invisible control characters (particularly carriage returns) in `inetd.conf'.
If it fails to work at all, then make sure inetd is working right. Change the invocation in `inetd.conf' to run the echo program instead of cvs. For example:
2401 stream tcp nowait root /bin/echo echo hello |
After making that change and instructing inetd to re-read its configuration file, "telnet servername 2401" should show you the text hello and then the server should close the connection. If this doesn't work, you need to fix it before you can worry about CVS problems.
On AIX systems, the system will often have its own program trying to use port 2401. This is AIX's problem in the sense that port 2401 is registered for use with CVS. I hear that there is an AIX patch available to address this problem.
Another good debugging tool is the `-d' (debugging) option to inetd. Consult your system documentation for more information.
If you seem to be connecting but get errors like:
cvs server: cannot open /root/.cvsignore: Permission denied cvs [server aborted]: can't chdir(/root): Permission denied |
then you probably haven't specified `-f' in `inetd.conf'.
(In releases prior to CVS 1.11.1, this problem can be caused by
your system setting the $HOME
environment variable
for programs being run by inetd. In this case, you can either
have inetd run a shell script that unsets $HOME
and then runs
CVS, or you can use env
to run CVS with a pristine
environment.)
If you can connect successfully for a while but then can't, you've probably hit inetd's rate limit. (If inetd receives too many requests for the same service in a short period of time, it assumes that something is wrong and temporarily disables the service.) Check your inetd documentation to find out how to adjust the rate limit (some versions of inetd have a single rate limit, others allow you to set the limit for each service separately.)
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Here is a list of problems which do not fit into the above categories. They are in no particular order.
HOMEDRIVE
and HOMEPATH
in
D. All environment variables which affect CVS). CVS expects the home
directory to not end in a slash, for example `C:'
or `C:\cvs'.
cvs update
finds a conflict and tries to
merge, as described in 10.3 Conflicts example, but
doesn't tell you there were conflicts, then you may
have an old version of RCS. The easiest solution
probably is to upgrade to a current version of
CVS, which does not rely on external RCS
programs.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |