Subhodini Fernandes <[EMAIL PROTECTED]> wrote:
: I have setup CVS on a Solaris server. I plan to migrate the repository to
: another Solaris box. I copied all the files from the first server to the
: second into the correct directories and changed the information in the
: .cvspass file. However, the client does not see the new repository. It
: does not even authenticate the users who are setup in the new repository.

        When you say the .cvspass file, you're refering to the *clients'*
        .cvspass file I hope?  The server has no .cvspass file.

        How are your clients "setup" in the new repository?  Are you
        using the system's /etc/passwd file for CVS accounts, or
        $CVSROOT/passwd?  If it's the second case, do you have all the
        users also in /etc/passwd so the file ownerships will be valid? 
        Have you insured the /etc/passwd entries have the same numeric UIDs
        as the first repository?

        When you say the client "does not see" the new repository, have you
        set your $CVSROOT env var to point to the new location?

        If all the above checks out, are you trying to use an existing
        sandbox against the new repository?  Each sandbox retains its own
        settings about where the repository is (via CVS/Root).  If the new
        repository has a new hostname, you'll need all the clients to get
        new checkouts.

: Is there any way I can achieve this or do I have to create a new
: respository and then copy all files from the old server to the new one
: ?

        A repository move typically works like this:

        Turn off all access to the repository, typically by disabling the
        cvs server in /etc/inetd.conf and doing a kill -HUP on inetd.

        Copy over the repository using tar as root! -Don't use cp or rcp,
        you'll more then likely hoze all the file ownerships.

        Sync the new /etc/passwd file with the old repository.  Even if
        you're not using /etc/passwd for the passwords, you'll need to
        insure all the UIDs are the same for both systems.

        Change the DNS so that the new repository gets the cvs server's
        hostname.  It's best to use an alias, like cvs.yourcompany.com, then
        to use a "real" hostname like fred.yourcompany.com.

        Turn on cvs on the new server via inetd.conf, kill -HUP.


        Now, if you've done all of the above INCLUDING MOVING THE HOSTNAME
        DNS OVER, the move should be "transparent" to your clients.  That
        is, they should not need to re-checkout anything or such.  If you
        are instead using a new hostname, you WILL need every client to do a
        new "cvs login" and re-checkout all local sandboxes.

-- 
Z   R                   /\          _  _               _  _
E   H                  /  \  |  |  |_ | _ |  /\  |\ | /  |_
N @ P . O             /    \ |_ |_ |_ \_/ | /  \ | \| \_ |_
I   S   R              "The Greatest Game You Never Played"
N       G                     www.AllegianceHQ.org
_______________________________________________
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs
_______________________________________________
Info-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/info-cvs

Reply via email to