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.
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).
cvs command: authorization failed: server host rejected access
file:line: Assertion 'text' failed
cvs command: conflict: removed file was modified by second party
cannot change permissions on temporary directory
Operation not permittedThis message has been happening in a non-reproducible, occasional way when we run the client/server testsuite, both on Red Hat Linux 3.0.3 and 4.1. We haven't been able to figure out what causes it, nor is it known whether it is specific to linux (or even to this particular machine!). If the problem does occur on other unices, `Operation not permitted' would be likely to read `Not owner' or whatever the system in question uses for the unix
EPERM
error. If
you have any information to add, please let us know as
described in section 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.
cannot open CVS/Entries for reading: No such file or directory
cvs [init aborted]: cannot open CVS/Root: No such file or directory
cvs [checkout aborted]: cannot rename file file to CVS/,,file: Invalid argument
cvs [command aborted]: cannot start server via rcmd
:local:
, as described in section 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 Dealing with bugs in CVS or this manual).
cvs [login aborted]: could not find out home directory
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 section Remote repositories.
cvs commit: Executing 'mkmodules'
cvs commit: Rebuilding administrative file databaseIf 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 section The modules file.
missing author
*PANIC* administration files missing
rcs error: Unknown option: -x,v/
cvs [server aborted]: received broken pipe signal
Too many arguments!
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 cacErrCodes.h' and you are ready
to cvs commit
. If it detects conflicts it will
print a message saying so, will report `C cacErrCodes.h',
and you need to manually resolve the
conflict. For more details on this process see
section Conflicts example.
Usage: diff3 [-exEX3 [-i | -m] [-L label1 -L label3]] file1 file2 file3
Only one of [exEX3] allowedThis indicates a problem with the installation of
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: warning: editor session failed
#!/bin/sh vi $* exit 0
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:
cvs [pserver aborted]: bad auth protocol start: fooIf this fails to work, 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 helloAfter 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.
Here is a list of problems which do not fit into the above categories. They are in no particular order.
cvs update
finds a conflict and tries to
merge, as described in section 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.
Go to the first, previous, next, last section, table of contents.