[OpenAFS] CVS and AFS
Charles Karney
ckarney@sarnoff.com
Fri, 15 Jun 2001 05:58:29 -0400 (EDT)
[Sorry my previous send of this message got switch to base64 encdoing
becuase he body of the message contained a <return> character. Here it is
again... CK]
We use CVS in a mixed Windows and Linux environment. Recently we switched
from accessing the CVS repository vis ssh to a Linux machine on which
CVSROOT was a local disk to having the CVS repository in AFS and having all
clients access this as a local file system.
The motivation for this change was
* to simplify user authentication;
* to allow finer grain control over access to the repository.
While things are basically working OK, we are running into some problems as
I'd be interested in hearing other peoples' experiences.
(1) Windows does loose matching on the case of filenames. On one occasion
this has led to the filenames in the repository been "spontaneously"
changed. The way this happened was (I think)
* On a Linux system, I did 'cvs remove NOTES.DOC', followed by
'cvs add Notes.doc', i.e., a 'safe' rename.
* On an NT system (using WinCVS 1.06), a user modifies NOTES.DOC (which
he still has checked out) and CVS apparently matches this with
Notes.doc in the repository and alters the repository name to
NOTES.doc when he checks this in.
* I do a 'cvs update' and am surprised to see NOTES.DOC resurrected.
It would seem that the Windows versions of CVS should try REALLY hard
not to do this.
(2) If the CVS repository is an AFS and if access to the repository is
granted by virtue of an AFS token in the name of NAME@CELL, this name
should be used in the log messages instead of the possibly random
Windows (or Unix) user name. Lots of the Windows checkins are by
'Administrator' which is not very informative.
(3) If an NT user checked out administrative files in $CVSROOT/CVSROOT,
modifies one of them and checks it back in the latest release in
CVSROOT carries DOS conventions. When accessing the repository from
Linux, I then get
cvs log: syntax error in /afs/sarnoff.com/common/cvs/CVSROOT/config:
line '^M' is missing '='
Either the Unix clients should care about foreign newline conventions
in $CVSROOT/CVSROOT/config, or the Windows clients should ensure that
these files have Unix newline conventions.
(4) It's too bad that AFS's notion of machine-independent pathname doesn't
carry through to Windows. Having to set up drive letter e.g., Z:
pointing to /afs/CELL/ breaks this notion and is so retro. I'd like to
be able to use
:local:\\afs\CELL\common\cvs
instead of
:local:z:\common\cvs
(5) Finally, we love to have network-level encryption of the data in AFS
files. Is this on anyones radar screen?
--
Charles Karney Email: ckarney@sarnoff.com
Sarnoff Corporation Phone: +1 609 734 2312
Princeton, NJ 08543-5300 Fax: +1 609 734 2586