bug-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: (no subject)


From: Christos Zoulas
Subject: Re: (no subject)
Date: Mon, 22 Apr 2002 12:22:16 -0400

On Apr 22, 12:07pm, larry.jones@sdrc.com (Larry Jones) wrote:
-- Subject: Re: (no subject)

| Christos Zoulas writes:
| > 
| > Unfortunately, I don't have a choice here. The directory is automounted
| > using amd(8)
| 
| That means you're using an NFS-mounted repository, which is an extremely
| bad idea.  We have received numerous reports of repository corruption
| caused by NFS bugs.  I strongly suggest switching to client/server CVS
| with the server running on the machine where the repository is.

I am not using nfs to access the repository. As my bug report mentions,
this problem appears only with the client-server code. If I run the code
on the local server, it works. On the server the repository is mounted
via amd as a local mount:

% amq | grep /src/twosigma
/src/twosigma  ufs     /dev/sda9                 /net/fsdv1/src-1/twosigma

It is just that I don't want to give out /net/fsdv1/src-1/twosigma
as the repository name, and I want to keep the logical name
/src/twosigma as the advertised repository path, so that I can move
things around when I want to.

Now, the problem is that cvs does not distinguish between logical
[paths containing symlinks] and physical names [paths that do not].
It would be simple to find all the places where the client passes
a pathname to the server and then use realpath(3) to convert it to
the physical path before doing any further processing to it. Then
my fix would not be needed.

Eventually somebody will need to go and fix the cvs code to deal
with symlinks. Saying don't do this because it does not work is
only applicable when one has the choice. It is not like symbolic
links were invented yesterday; they've been around for 20 years
now.

Regards,

christos



reply via email to

[Prev in Thread] Current Thread [Next in Thread]