Hi Philip,
"Plumlee, Philip" schrieb:
> I'm having a hell of a time connecting WinCVS 1.1b10 to CVS 1.10.8NT. Here's
> how to get where I am:
>
> 5> Install WinCVS, set the home directory to my project, log in with this
> connection string "plumpx01@plumpx01:c:\cvsroot", and set the protocol to
> "ntserver".
Unfortunately I haven't experienced the ntsever mode up to now. Is your intended
repository on a remote NT host? If not, you may simply use local mode as show in
the Cederqvist manual:
Enter ":local:c:\cvsroot" in the "Enter the CVSROOT" field of WinCVS preferences
and select "Local mounted directory" in the "Authentication" list below.
> My connect string was working before, apparently. But now I get into a big
> argument like this:
I am still a bit of a beginner in understanding the CVS client/server protocol.
Yet I'll try a few comments and hope for others to correct and / or confirm my
assumptions in order to get me learn a bit more about it (my actual knowledge
comes from the 1.10 client server protocol docu and from observations of the
$CVS_CLIENT_LOG.in and .out files):
> cvs -d :ntserver:plumpx01@plumpx01:c:\cvsroot init
> Protocol error: Root request missing
This sounds like a bug or wrong message, as cvs init should send a "init"
request instead of the "Root" request.
> cvs -d :ntserver:plumpx01@plumpx01:cvsroot init
> Bad repository root 'cvsroot'
>
> cvs -d :ntserver:plumpx01@plumpx01://plumpx01/diskc/cvsroot init
> Bad repository root '//plumpx01/diskc/cvsroot'
>
> cvs -d :ntserver:plumpx01@plumpx01:/plumpx01/diskc/cvsroot init
> Bad repository root '/plumpx01/diskc/cvsroot'
Sorry, no comment as I don't yet know the :ntserver: syntax.
> cvs -d :local:plumpx01@plumpx01:c:\cvsroot init
> cvs [init aborted]: CVSROOT plumpx01@plumpx01:c:\cvsroot must be an absolute
> pathname
>
> cvs -d :local:plumpx01@plumpx01:\\plumpx01\diskc\cvsroot init
> cvs [init aborted]: CVSROOT plumpx01@plumpx01:\\plumpx01\diskc\cvsroot must
> be an absolute pathname
In :local: mode you should just give a local (and absolute) path name, without
any "user@hostname" elements.
> cvs -d :local:\\plumpx01\diskc\cvsroot init
> cvs [init aborted]: cannot make directory Emptydir: Permission denied
File system level connects to a remote host seem to be a problem for CVS. I
heard about such problems with NFS (I know, that's not the same as NTFS :-) and
may be also with other remote file systems. But I'm not quite competent in that
question.
The message seems to say that part of the init process was done. Was it? Could
you see (parts of) the repository generated in your file system? But in either
case I can't see why it complains about Emptydir (which is a CVS specific dummy
directory).
> NEW CVSROOT: plumpx01:c:\cvsroot (NT server services)
Again this WinCVS output seems to say that at least some part of the init
procedure succeeded.
> cvs add Epic.dsw (in directory C:\Epic)
> cvs add: in directory .:
> cvs [add aborted]: *PANIC* administration files missing
That's ok.
cvs init only initializes the (central) repository, but you also need a (local)
"sandbox" (working space) that is under CVS control in order to use most of the
cvs commands. You can identify such a sandbox from the "CVS" subdirectories
within it. You can get it by using cvs checkout.
If your repository is still completely empty, you may do "cvs checkout ." in
order to obtain a local copy of the (empty) repository root. There you can add
directories and files within that directories.
However for a whole directory tree you probably should prefer cvs import and do
a cvs checkout on the imported tree after the import.
For details please look at the manual.
I hope I could help you a bit and I would be pleased for any comments helping me
understanding CVS internals a bit better.
Best regards
Martin