info-cvs
[Top][All Lists]
Advanced

[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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]