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:[EMAIL PROTECTED] Sent: 12 juillet, 2007 15:31 To: Simon Renshaw Cc: [email protected] 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:[EMAIL PROTECTED]:/path/to/cvsroot_real to: :ext:[EMAIL PROTECTED]:/path/to/cvsroot_test a sample checkout from the test repository might look like: cvs -d:ext:[EMAIL PROTECTED]:/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:[EMAIL PROTECTED]:/path/to/cvsroot_real to: :pserver:[EMAIL PROTECTED]:/path/to/cvsroot_test a sample checkout from the test repository using pserver might look like: cvs -d:pserver:[EMAIL PROTECTED]:/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/
