> [ On Thursday, September 7, 2000 at 18:21:55 (+0530), Ramesh Chander wrote: ]
> > Subject: Is it possible to have a mirror CVS server
> >
> > We want some kind of mechanism where our team work use a CVS server
> > which is at our local site and replicant server at remote site.
> > If we commit on this local server then some how it update the remote
> > repositry and vice versa.

[EMAIL PROTECTED] (Greg A. Woods) writes:
> This is simply not possible within the design parameters of CVS.
> 
> The only way you could reasonably do this would be to mirror the remote
> repository at your site (using rsync or CVSup, or even just ftp, etc.)
> and then use that to create a second vendor-branched repository also at
> your local site.  Do all of your changes to the trunk of the second
> repository (i.e. in working directories checked out from the second
> repository).  Then finally pick appropriate periods in time to tag your
> local work, create a great big patch containing all the changes since
> the last tag, and commit them to the master repository.  Repeat this
> cycle as appropriate.

A much simpler method, which gains *many* of the advantages (but not
all), is to periodically rsync or CVSup a mirror of the main CVS
repository to the satellite locations, and use that as a *read-only*
repository, switching to the main repository when it comes time to do
a final update & commit. This can be handled with a couple of scripts
that cycle through a work directory changing the contents of every
CVS/Root and CVS/Repository file (one to switch from main to mirror,
another to switch from mirror to main). At any given time, the mirror
may be slightly out of date, but that will be corrected by switching
to the main and doing a CVS update prior to final testing and
commit. (One thing to watch out for - users updating from the mirror
while an rsync/CVSup is in progress)

Reply via email to