[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Copying/duplicating a repository
From: |
sean dreilinger |
Subject: |
Re: Copying/duplicating a repository |
Date: |
Thu, 12 Jul 2007 12:31:11 -0700 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.4) Gecko/20070615 Thunderbird/2.0.0.4 Mnenhy/0.7.5.666 |
Simon Renshaw wrote:
> What is the best way to copy a repository?
> I want to make a copy of a production repository so we can do tests
> without affecting the real code.
disregarding issues of disk space and assuming you have admin/root access, you
can clone your cvs repository for testing purposes by copying it into a new
tree:
rsync -aPv /path/to/cvsroot_real/ /path/to/cvsroot_test/
now you've got a copy of your repository as /path/to/cvsroot_test and you can
have any designated testers configure their cvs clients or client commands to
use the test repository.
EXT Access
if you're using :ext: method to access the repository, test users should change
their CVSROOT spec from
:ext:address@hidden:/path/to/cvsroot_real
to:
:ext:address@hidden:/path/to/cvsroot_test
a sample checkout from the test repository might look like:
cvs -d:ext:address@hidden:/path/to/cvsroot_test checkout modulename
PSERVER Access
if you're also using the :pserver: method to access the repository, you'll want
to configure your (x)inetd to permit the test cvsroot by adding the
--allow-root=/path/to/cvsroot_test to the cvspserver line in your
/etc/inetd.conf file. for example, if you have this line in /etc/inetd.conf:
cvspserver stream tcp nowait cvs /usr/bin/cvs cvs \
--allow-root=/path/to/cvsroot_real \
pserver
change that to:
cvspserver stream tcp nowait cvs /usr/bin/cvs cvs \
--allow-root=/path/to/cvsroot_real \
--allow-root=/path/to/cvsroot_test \
pserver
after making this change, restarted inetd and ensure that cvs works normally for
the current repository.
then have anyone testing the new repository over :pserver: protocol change their
cvsroot from:
:pserver:address@hidden:/path/to/cvsroot_real
to:
:pserver:address@hidden:/path/to/cvsroot_test
a sample checkout from the test repository using pserver might look like:
cvs -d:pserver:address@hidden:/path/to/cvsroot_test checkout modulename
if the pserver setup sounds confusing, i would dig into karl fogel's book here:
http://durak.org/sean/pubs/software/cvsbook/The-pserver-access-method-is-not-working.html
and navigate to the repository administration chapter if you need more details.
hth
-sean
--
sean dreilinger - http://durak.org/sean/