[cvsnt] CVS can't see file in archive

Bob Kline bkline at rksystems.com
Wed Aug 21 15:38:39 BST 2002


We're running cvsnt on Windows 2000 (about a half-dozen developers on a
single project).  We switched over from RCS a little under a year ago,
and we've mostly not had any problems we can't figure out.  Yesterday we
ran into a problem which we haven't seen before and which has us
baffled.  One of the developers has a sandbox for one of the directories
in the repository, and one of the files in that directory is named
CdrPublish.cpp.  The CVS repository has that file in it. If any of us
invokes cvs checkout for that directory to create a new sandbox that
file is included.  But this developer's sandbox does not know about the
file: the CVS/Entries file does not list the file.  Here's what happened
when he tried to make some changes to the file, run a cvs diff, and
check them in:

mmdb2::D:\alan\Cdr\Server>cvs diff CdrPublish.cpp
cvs server: I know nothing about CdrPublish.cpp

mmdb2::D:\alan\Cdr\Server>cvs add CdrPublish.cpp
cvs server: CdrPublish.cpp added independently by second party

mmdb2::D:\alan\Cdr\Server>cvs com CdrPublish.cpp
cvs commit: use `cvs add' to create an entry for CdrPublish.cpp
cvs [commit aborted]: correct above errors first!

mmdb2::D:\alan\Cdr>cvs add CdrPublish.cpp
cvs add: nothing known about CdrPublish.cpp

I've looked at all the files in the CVS subdirectory of the working
directory for clues.  I've looked in the CVSROOT directories for clues.
I've looked in the mailing list archives for clues.  I've looked in the
troubleshooting section of the CVS manual for clues.  I haven't found
anything useful in any of the places.  What can possibly be happening?
I could probably solve the problem by hacking the CVS/Entries file, but
I convinced the rest of the development team (some of them reluctant) to
switch to CVS, and I'd like to perform due diligence to track down the
cause of the problem and reassure the other developers that we're not
looking at some mysterious time bomb which could do unpredictable nasty
things down the road.

The behavior exhibits itself with two different versions of the CVS
client:

Concurrent Versions System (CVS) NT 1.11.1.2 (Build 41)
Concurrent Versions System (CVS) 1.11.1p1 (client)

The CVS client can't find the "missing" file whether it uses the pserver
protocol to get to the archives through a server, or uses -d:local: to
interact directly with the local filesystem.  If I remove the copy of
the file from the working directory the client still doesn't recognize
that the repository has this file, which it needs to add to the sandbox.

Has anyone seen behavior like this?  Does anyone have any clues about
where to look for the cause of the problem?  Any assistance will be most
gratefully appreciated.

-- 
Bob Kline
mailto:bkline at rksystems.com
http://www.rksystems.com






More information about the cvsnt mailing list