[Top][All Lists]

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


From: Greg A. Woods
Subject: Re: CVS_SERVER
Date: Wed, 1 Aug 2001 15:58:29 -0400 (EDT)

[ On Wednesday, August 1, 2001 at 09:52:43 (-0700), Mark D. Baushke wrote: ]
> Subject: Re: CVS_SERVER 
> Not all administrators will install access to the cvs server via
> :pserver: and therefore they require that the users use ssh or rsh to
> get into the box then don't have the cvs you want installed in the way
> you like it.

Not all the repositories I access regularly are anonymous read-only
repositories (i.e. ones using the so-called cvspserver protocol) either.

> To review, the CVS_SERVER environment varible is there to contain the
> name of the 'cvs' command to use on the remote system after initiating
> the connection to that remote system via CVS_RSH typically with the
> :ext: method rather than the :pserver: method.

Well, that use of CVS_SERVER is a cheap hack to work around incorrectly
installed servers.  Propogating that hack into the state of the working
directory is an extremely bad idea.

(The most valid uses of CVS_SERVER are only to assist in testing
multiple versions of CVS on the same machine -- it's not something users
should ever have to set in normal use!)

If people have this problem regularly, and yet are having problems
getting the CVS install corrected on the server, then a very very very
simple little wrapper script can be used to pre-set things like
CVS_SERVER and CVS_RSH for them.  That wrapper script can even live on
the server so long as they're using ":ext:" with SSH (or RSH, etc.).

> Before I hacked cvs 1.3 to have root.c so that it could store the
> correct repository information in CVS/Root you needed to either
> specify the repository on the command line or via the CVSROOT
> environement variable.

I'm still not convinced that hack was a totally good thing even though I
make use of it constantly myself.....  In the end its often more of a
pain than a solution when things about the remote server change
(eg. it's name, access methods, authentication tokens, etc.).  A proper
wrapper script would make fixing the pain trivial and a one-time affair
no matter how many working directories you might have checked out.

I do still agree that there's a bit of a Catch-22 situation where people
can get themselves into really big trouble if they accidentally point to
a copy of a repository (instead of the one true repo).  The one major
benefit of storing that info into CVS/Root is that it's almost
impossible for the client user to make such mistakes any more.  However
whether the pain is worth the gain in a general sense is not necessarily
so obvious.

You want to put as little as possible irrelevenat information about the
server into the working directory.  "Hard-coding" more irrelevant stuff
is just a recipe for causing confusion and furstration when that
information must be changed.

> Actually, the default CVS_RSH *is* ssh on the FreeBSD version of cvs.

Yeah!  :-)  One down!

                                                        Greg A. Woods

+1 416 218-0098      VE3TCP      <address@hidden>     <address@hidden>
Planix, Inc. <address@hidden>;   Secrets of the Weird <address@hidden>

reply via email to

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