[Techtalk] conceptual CVS

Sonja Krause-Harder skh at gmx.com
Fri Jul 18 20:14:29 EST 2003


Emma,

this is how I would try to solve your problem:

Have a server somewhere that is completely under your control. This
needs to be connected to the internet at least temporarily, and have
a fixed address. A computer at home, even a laptop is fine if you can
make it visible to your production servers with a dynamic ip so that
they can access it with cvs.

On this machine, I'll call it cvs server from now on, you create a
cvs repository for your application, and for each of your actual
installations (websites) that run your application. So you would have
the following repositories:

	web-app-src
	site-1-conf
	site-2-conf
	site-3-conf

To checkout the application to one of your production servers, you
would login there (assuming you have a shell account, if you don't,
my design won't work. I assume you have because you use scp) and
check out web-app-src and one of the site-n-conf repositories. I
also assume that it is trivial to separate the config files from your
web app and put them into a directory of their own, so that they
can live in separate repositories. From your description, you might
not need them in CVS at all, but it is cleaner that way, and you
always have a backup.

In any case: on your staging / development machine (which may be
the same as the cvs server), you would set up a version of one or
all three of your web sites (it's hard to say without knowing the app)
on a local web server and use a locally checked-out sandbox you
develop in, so you can test everything. When it works fine,
you check it into the cvs repository on your machine. Whenever you
want to update the "real" web sites, you log into that machine and
check out the newest app version from CVS.

CVS is able to transfer files over the network. As (in this setup)
you have complete control over the CVS server, you can use the "ext"
method which probably is described in Jenn's book. It uses the
permissions set on the CVS server the usual linux/unix way, and ssh
to actually transer the files.

Does that make any sense for you? ;-)

cheers,

Sonja


More information about the Techtalk mailing list