Help with moving repository

2003-01-20 Thread Mark Cooper
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

2003-01-20 Thread Kaz Kylheku
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

2003-01-20 Thread Gagneet Singh

 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

2003-01-20 Thread Mark Cooper

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

2003-01-20 Thread Larry Jones
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

2003-01-20 Thread Karl E. Jorgensen
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