TWiki . Admin . CVSAtSandstein


nasty questions

  1. Q: Who is going to use it? A: Everybody doing software development! Everybody wanting the latest WHATEVER.
  2. Q: Why should I do? A: source history, teaming up, source branches, ...
  3. Q: Besides its cool features. Why should I do? A1: To set you up in software heaven. A2: new CAAD policy (cause ludger says)
  4. Q: Ok. Ok. How should I use it A: I'll put links to serveral clients below. And read the structure chapter.
  5. Q: Is it easy to use? A1: Depends on you client. A2: CVS is a one way data sink. You can mess it up. And it is hard to recover.
  6. Q: It reminds me on something. What is it? A: TWiki is using CVS for its history.

client

cvs clients software

  1. cvs home
  2. eclipse
  3. tortoise (windows)

cvs directory structure

sandstein is our cvs-server. the cvs root directory is /var/cvsroot. in short: sandstein.ethz.ch:/var/cvsroot.

below cvsroot we use the following structure:

documentation documentation besides source documentation. papers, overviews, ...
__ kaisersrot kaisersrot projects go here
_ _ herrhugowart herrhugowart documents goes here
_ _ sogt sogt documents goes here
__ bip bip projects go here
_ _ main bip main project documentation
__ qoom sep project
_ _ diploma diploma work documentation
_ _ locator prototype documentation
__ users
_ _ matze
_ _ droste
_ _ __ tartangenerator something not belonging to any other project
source source code NO BINARIES
__ kaisersrot kaisersrot projects go here
_ _ herrhugowart herrhugowart source goes here
_ _ sogt sogt source goes here
__ bip bip projects
_ _ main bip main project
__ qoom sep project
_ _ diploma diploma work source code
_ _ locator prototype source code
__ users
_ _ matze
_ _ droste
_ _ __ tartangenerator something not belonging to any other project

server setup

disable direct cvsuser logins

#####
##### as root@sandstein
#####
cat <<EOF >/etc/profile.d/cvsuser.sh
if [ `dirname $PWD` = '/home/CVSUSER' ];
then
        exit
fi
EOF

cat <<EOF >/etc/profile.d/cvsuser.csh 
if ( `dirname $PWD` == /home/CVSUSER ) logout
EOF


cvs setup

#####
##### as root@sandstein
#####

groupadd cvsuser

##### modify root user
usermod -G cvsuser root

##### setup directory


export CVSROOT=/var/cvsroot
mkdir $CVSROOT
chmod 2775 $CVSROOT
chown root:cvsuser $CVSROOT

cvs init


#### setup basic directory structure

mkdir kewl
cd kewl

cvs import -m "Created directory structure" documentation/bip  bip start
cvs import -m "Created directory structure" source/bip  bip start

cvs import -m "Created directory structure" documentation/kaisersrot  kaisersrot start
cvs import -m "Created directory structure" source/kaisersrot  kaisersrot start

cvs import -m "Created directory structure" documentation/game game start
cvs import -m "Created directory structure" source/game  game start

cvs import -m "Created directory structure" documentation/misc  misc start
cvs import -m "Created directory structure" source/misc  misc start

cvs import -m "Created directory structure" documentation/users  users start
cvs import -m "Created directory structure" source/users  users start

cd ..
rmdir kewl

##### lock higher directory structure

chmod g-ws /var/cvsroot /var/cvsroot/documentation /var/cvsroot/source/

add project group

#####
##### as root@sandstein
#####

##### add another project group

export CVSROOT=/var/cvsroot

mkdir kewl
cd kewl
cvs import -m "Created directory structure" documentation/qoom  qoom start
cvs import -m "Created directory structure" source/qoom  qoom start
cd ..
rmdir kewl
chmod g+s $CVSROOT/documentation/qoom

modify user

#####
##### as root@sandstein
#####
usermod -G cvsuser droste

add caad user

#####
##### as root@sandstein
#####
NEWCVSUSER=nethzaccount

useradd -G cvsuser -d /home/CVSUSER/$NEWCVSUSER $NEWCVSUSER
passwd $NEWCVSUSER

add non-caad user

#####

##### as root@sandstein
#####
NEWCVSUSER=ifpossiblenethzaccount
PROJECTDESCR="project_name, extern, caad_member_in_charge"

useradd -G cvsuser -d /home/CVSUSER/$NEWCVSUSER -c "$PROJECTDESCR" $NEWCVSUSER
passwd $NEWCVSUSER
-- KarstenDroste - 20 May 2005

----- Revision r1.7 - 30 May 2005 - 12:06 - KarstenDroste
Copyright © 1999-2003 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

This website has been archived and is no longer maintained.