App-Context

 view release on metacpan or  search on metacpan

lib/App/adminguide/cvs.pod  view on Meta::CPAN

  cd src
  cvs co CVSROOT
  cd CVSROOT
  touch passwd
  cvs add passwd
  cvs update
  cvs commit -m "new" passwd

  vi checkoutlist
  # add "passwd" as the last line
  cvs commit -m "added passwd to list of CVSROOT files" checkoutlist

Then exit as the "cvs" user.

  exit

=head2 Installing cvspasswd and adding users

I got it from here.

  http://www.sugoi.org/bits/download/cvspasswd

But I put it in a distribution on CPAN called App-admin.
So you can install it this way.

  perl -MCPAN -e "install App-admin"

In any case, make sure it is in your path (i.e. /usr/local/bin).
Then add users.

  cvspasswd joe    joespw7
  cvspasswd mike   m1k31sgr3a7
  cvspasswd nellie whoa_

=head2 Configure xinetd

On Solaris, I just needed to add a line to /etc/inetd.conf which
looked like this. (This configures "inetd", the internetworking daemon.)

  cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/usr/mycompany/cvs pserver

However, on Linux I have to configure xinetd (an enhanced version of
"inetd").

  cd /etc/xinetd.d
  vi cvs

I put the following in the file, with my server's actual
IP address instead of "10.10.10.10".

  service cvspserver
  {
      disable         = no
      socket_type     = stream
      wait            = no
      user            = cvs
      group           = cvs
      log_type        = FILE /var/log/cvspserver
      protocol        = tcp
      env             = '$HOME=/usr/mycompany/cvs'
      bind            = 10.10.10.10
      log_on_failure += USERID
      port            = 2401
      server          = /usr/bin/cvs
      server_args     = -f --allow-root=/usr/mycompany/cvs pserver
  }

Then I restart xinetd.

  pkill -HUP xinetd

=head2 Verification

Then I went to another server on the network.

  cd ~
  mkdir src
  cd src
  cvs -d :pserver:mike@cvshost:/usr/mycompany/cvs login
  cvs -d :pserver:mike@cvshost:/usr/mycompany/cvs co CVSROOT
  # it worked great, so I can remove it ...
  rm -rf CVSROOT

=head2 Moving the CVS data

I now had to move the data from my old CVS server.

  ssh oldcvshost
  su -
  cd /usr/mycompany/cvs
  find project1 project2 project3 -print | cpio -ocv | gzip > cvs.cpio.gz
  scp cvs.cpio.gz mike@cvshost:.
  ssh mike@cvshost
  su -
  cd /usr/mycompany/cvs
  mv ~mike/cvs.cpio.gz .
  gunzip < cvs.cpio.gz | cpio -idcuvm



( run in 1.071 second using v1.01-cache-2.11-cpan-2398b32b56e )