[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Copying/duplicating a repository
From: |
Simon Renshaw |
Subject: |
RE: Copying/duplicating a repository |
Date: |
Fri, 13 Jul 2007 10:22:14 -0400 |
Hi Sean!
Thanks for the explanations. Guess using rsync would have saved me some
time :) Oh well, I will know for next time.
And we use extssh to connect so no problems there. I much prefer to use
extssh than pserver. Except that I haven't found a Windows client
(beside Eclipe) that supports it.
Simon
-----Original Message-----
From: sean dreilinger [mailto:address@hidden
Sent: 12 juillet, 2007 15:31
To: Simon Renshaw
Cc: address@hidden
Subject: Re: Copying/duplicating a repository
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/