Help with moving repository
We are in the process of moving our cvs repository (pserver) for reasons of size and speed, and have so far asked our CVS users to ensure everything is checked in to the existing repository, remove the existing working copies then modify their CVSROOT or -d options and check out again from the address of the new repository (which is actually a mount point for the moment from the old one, until everyone sets up correctly, then it will be copied to its proper location at a convenient point). Some of our developers are complaining that this is going to take them too long (don't ask, I've already had the argument with them). Is there a utility available anywhere to perform global changes to the cvs metadata in a users working copy. For instance change the entry in cvs/root from :pserver:user@oldcvs:/cvs/cvsroot to :pserver:user@newcvs:/cvs/cvsroot. I can imagine that someone somewhere has done this before. If such a thing were available, it may just save me a few headaches. Thanks Mark Cooper Any views or opinions presented in this Email message are solely those of the author and do not necessarily represent those of the Microlise Group unless otherwise specifically stated. Email communications are not necessarily secure and therefore the Microlise Group does not accept legal responsibility for the contents of this message. If you are not the intended recipient and have received this message in error, please notify Microlise immediately. Microlise Group Limited +44 (0)1773 537000 ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Help with moving repository
On Mon, 20 Jan 2003, Mark Cooper wrote: Is there a utility available anywhere to perform global changes to the cvs metadata in a users working copy. For instance change the entry in cvs/root from :pserver:user@oldcvs:/cvs/cvsroot to :pserver:user@newcvs:/cvs/cvsroot. I can imagine that someone somewhere has done this before. A simple combination of find and sh should do: find . -type d -name CVS -exec sh -c 'echo :pserver:... {}/Root' \; Here's yet another reason to use Meta-CVS: only one CVS directory to fiddle with if you ever have to. ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Help with moving repository
We are in the process of moving our cvs repository (pserver) for reasons of size and speed, and have so far asked our CVS users to ensure everything is checked in to the existing repository, remove the existing working copies then modify their CVSROOT or -d options and check out again from the address of the new repository (which is actually a mount point for the moment from the old one, until everyone sets up correctly, then it will be copied to its proper location at a convenient point). Is the CVS Server on a Linux/UNIX system? What are the clients being used? Are the users working with Windows (WinCVS) Clients or using CVS on UN*X boxes? Some of our developers are complaining that this is going to take them too long (don't ask, I've already had the argument with them). OK, will not ask... ;-) Is there a utility available anywhere to perform global changes to the cvs metadata in a users working copy. For instance change the entry in cvs/root from :pserver:user@oldcvs:/cvs/cvsroot to :pserver:user@newcvs:/cvs/cvsroot. I can imagine that someone somewhere has done this before. There is such a utility available for WinCVS clients, I do not know about UN*X clients, but should be easy to make using awk and grep. For the WinCVS utility visit Oliver Giesens page on: http://people.freenet.de/ogiesen/readme.htm Also, Oliver has given a full FAQ on CVS at: http://people.freenet.de/ogiesen/newfaq.htm If such a thing were available, it may just save me a few headaches. Thanks Mark Cooper Hope these site and macros help, you could run them on UN*X based systems, but I am not too sure. Gagneet I hear that if you play the Windows XP CD backwards, you get a satanic message - --That's nothing. If you play it forward, it installs Windows XP! ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Help with moving repository
Laurence Jones wrote: Also, to prevent this problem from reoccurring in the future, you should set up a virtual host name for your CVS server (something like cvs) Yep, we've done that :) (We saw it coming). Anyway, I've written a couple of small .bat files which do the trick for WinDoze client users. All you have to do is set the CVSROOT environment variable to what it should be then run the first batch file (changecvs.bat), from the root of the drive or directory where you have CVS working copies. changecvs.bat: for /R %%f in (CVS\Root) do call changeroot.bat %%f changeroot.bat: if not exist %1 goto end copy %1 %1.old echo %CVSROOT% %1 :end I tested it on my working copies and it worked a treat. Thanks to those who responded. Mark Cooper [EMAIL PROTECTED] (Larry Jones)@thor.sdrc.com on 20/01/2003 15:56:54 Sent by:[EMAIL PROTECTED] To:[EMAIL PROTECTED] (Mark Cooper) cc:[EMAIL PROTECTED] Subject:Re: Help with moving repository Mark Cooper writes: Is there a utility available anywhere to perform global changes to the cvs metadata in a users working copy. For instance change the entry in cvs/root from :pserver:user@oldcvs:/cvs/cvsroot to :pserver:user@newcvs:/cvs/cvsroot. I can imagine that someone somewhere has done this before. Such utilities have been posted to the list before -- I suggest searching the archives. Also, to prevent this problem from reoccurring in the future, you should set up a virtual host name for your CVS server (something like cvs) and make it an alias for the actual machine name. If you have to move the repository again in the future, all you have to do is change the definition of the alias to point to the new machine, the users don't have to do anything at all. -Larry Jones I don't see why some people even HAVE cars. -- Calvin ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Help with moving repository
Mark Cooper writes: Is there a utility available anywhere to perform global changes to the cvs metadata in a users working copy. For instance change the entry in cvs/root from :pserver:user@oldcvs:/cvs/cvsroot to :pserver:user@newcvs:/cvs/cvsroot. I can imagine that someone somewhere has done this before. Such utilities have been posted to the list before -- I suggest searching the archives. Also, to prevent this problem from reoccurring in the future, you should set up a virtual host name for your CVS server (something like cvs) and make it an alias for the actual machine name. If you have to move the repository again in the future, all you have to do is change the definition of the alias to point to the new machine, the users don't have to do anything at all. -Larry Jones I don't see why some people even HAVE cars. -- Calvin ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
Re: Help with moving repository
On Mon, Jan 20, 2003 at 10:21:48AM +, Mark Cooper wrote: We are in the process of moving our cvs repository (pserver) for reasons of size and speed, and have so far asked our CVS users to ensure everything is checked in to the existing repository, remove the existing working copies then modify their CVSROOT or -d options and check out again from the address of the new repository (which is actually a mount point for the moment from the old one, until everyone sets up correctly, then it will be copied to its proper location at a convenient point). Some of our developers are complaining that this is going to take them too long (don't ask, I've already had the argument with them). Is there a utility available anywhere to perform global changes to the cvs metadata in a users working copy. For instance change the entry in cvs/root from :pserver:user@oldcvs:/cvs/cvsroot to :pserver:user@newcvs:/cvs/cvsroot. I can imagine that someone somewhere has done this before. If such a thing were available, it may just save me a few headaches. If you are simply moving repository from one machine to another (and keeping the same path), you could set up port redirection/forwarding on the old machine, so all incoming connections on the old pserver box are transparantly forwarded to the new pserver box. This can be achieved by redir(1) [it's available on Linux]. Or if you use xinetd i *believe* it can do port forwarding too (haven't tried, YMMV). This should allow developers to use either CVSROOT and remove the need for a sudden switch. The downside is that there bound to be somebody who forgets to switch, which you will only discover once the port forwarding is switched off. On a related note: If you're moving the repository across machines, how do you identify the machines? If you have control over your DNS set-up, you may just want to use: pserver.yourhost.yourdomain.tld [substitute as appropriate] and let pserver be a canonical name for the real box. In this way, you can move the repository to your hearts content provided that you update DNS accordingly (and keep the same path within the box). Any views or opinions presented in this Email message are solely those of the author and do not necessarily represent those of the Microlise Group [snip] whatever... just my 2 ${MONETARY_UNIT}/100... -- Karl E. Jørgensen [EMAIL PROTECTED] http://karl.jorgensen.com JabberID: [EMAIL PROTECTED] Today's fortune: Running Windows on a Pentium is like having a brand new Porsche but only be able to drive backwards with the handbrake on. (Unknown source) ___ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs