[H-GEN] Setting up a Subversion/CVS Repository
Sarah Hollings
sarah at humanfactors.uq.edu.au
Fri Sep 5 10:04:58 EDT 2003
[ Humbug *General* list - semi-serious discussions about Humbug and ]
[ Unix-related topics. Posts from non-subscribed addresses will vanish. ]
Jim Clark wrote:
> It's been a while, but from what I recall, stay away from pserver.
> I set mine up with ssh.
>
> $CVSROOT and $CVS_RSH look like:
>
> CVSROOT=:ext:uname at cvshostname:/var/cvs
> CVS_RSH=ssh
Yup that looks good, but if that particular client is going to be ever
working on projects from different repositories, setting CVSROOT can
cause problems.
Eg, you've downloaded the source from cvs.foobar.com for their product
foobarnator, and set CVS_ROOT accordingly like they say on their site,
for when you want to work with their HEAD version. You hack on
/home/bob/dev/foobarnator/src/main.c for a while because you want a
feature they dont have.
Then you check your email and find someones logged a bug against your
product bazarama. Dammit, that code was working! So you fire up
another xterm (or cmd window or ide) and start editing
/home/bob/dev/bazarama/src/main.c.
The repository for bazarama is cvs.bob.com!
What happens when you do an update or commit?
conflicts! up to date check failed for main.c!
Since you only ever need to set CVSROOT when you first checkout a
project, just set it that once, on the command line like this:
cvs -d uname at cvs.domain.org:/var/cvs checkout my_proj
(Note that CVS clients will assume :ext: if the -d looks like
uname at server:/repos, and :local: if the -d starts with "/")
After that, the /CVS/* files store all this state for you, and it
"knows" which project you want.
Rgds,
Sarah
--
* This is list (humbug) general handled by majordomo at lists.humbug.org.au .
* Postings to this list are only accepted from subscribed addresses of
* lists 'general' or 'general-post'. See http://www.humbug.org.au/
More information about the General
mailing list