CAAD | ARCH Admin| Aizo | Archinf | BIP | Bgyalex | Brandhub | Catch0405 | Cityscan05 | CommunityMedia | Control | Curtain | Easa005 | Easydb | Education | Extern | Extern0405 | Freudenhaus | Fund | Game0405 | Game05 | Gamearch | Luise | MAS0506 | MAS0506stu | Mas0506 | Mas0506stu | Maschinen0405 | Menz | Mill | Mill0405 | NDS | NDS0405 | NDS0405stu | Plugins | Qwipp | RZM | Replay | Replay0405 | Research | Second | Trash | Udintern | Urbandesign |
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. cvl (mac, unix, win)
  4. tortoise (win)

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
chrp cvsuser $CVSROOT/documentation/qoom
chmod g+s $CVSROOT/source/qoom
chrp cvsuser $CVSROOT/source/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


Topic CVSAtSandstein . { Edit | Attach | Ref-By | Printable | Diffs | r1.9 | > | r1.8 | > | r1.7 | More }

Copyright © 1999-2003 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Revision r1.9 - 01 Jun 2005 - 18:28 - 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.