wikiC/2.06
Main page
Alphabetic index
Recent Edits

CVS

login 38.107.179.241

CVS staat voor Concurrent Version System.
Marc Groenewegen geeft excellente CVS-cursussen op KMT: http://kmt.hku.nl/~marcg/documenting/cvs_intro.html
Maarten de Boer vertelt hoe het veiliger kan (moet) met behulp van SSH: http://www.iua.upf.es/~mdeboer/cvssh.html .
De volledige CVS-documentatie (genoemd naar haar schrijver, Per Cederqvist) vindt je o.a. hier http://www.cvshome.org/docs/manual/ .

Pieter Suurmond, Marc Groenewegen en Eduard Aylon beheren deze SOGM CVS server en alleen zij kunnen nieuwe projecten importeren. Alle andere gebruikers met een unix account op deze machine (knorretje.hku.nl) kunnen lezen en wijzigingen aanbrengen.

Instellingen:

     USER: <unix gebruikersnaam>
     PASS: <unix wachtwoord>
   SERVER: knorretje.hku.nl
     PORT: 2401
  CVSROOT: /usr/people/cvs
 PROTOCOL: pserver

Huidige modules:

 AudioSDK      (SOGM-project derdejaars, 2004)
 posix-thread  (C posix multithread voorbeeld.)
 probeer       (Om te testen of het editten via CVS echt werkt.)
 sockstream    (C++ van Marc Groenewegen om een socket net zo te kunnen aanspreken als iostream.)
 anton         (Anton Woldhek's spullen (er kan naast qb nog meer staan).)
 anton/qb      (Pd external library project.)
 anton/Filter  (Anton/School/Analyse in C Project 2005) 
 simon         (Experimenten van Simon Asselbergs 
In de voorbeelden hieronder wordt steevast de syntax
 setenv <VARNAME> <VARVALUE>
gebruikt. Op sommige shells (zoals bash dat standaard is op OSX) werkt dat echter net iets
anders: type daar bijvoorbeeld:
 export <VARNAME>=<VARVALUE>
of
 <VARNAME>=<VARVALUE>; export <VARNAME>

CVS server on this machine

A CVS-server was set up on this machine (knorretje.hku.nl, an Indy with MIPS R5000 running IRIX 6.5.12):
- Downloaded cvs-1.11.6 from http://freeware.sgi.com and installed with IRIX software manager.
- Added one line to file /etc/inetd.conf:
    cvspserver stream tcp nowait root /usr/freeware/bin/cvs cvs -f --allow-root=/usr/people/cvs pserver
- Added one line to file /etc/services:
    cvspserver 2401/tcp
- After editting these files, run (as root):
    /etc/killall -HUP inetd
- Created a new user and userdir for the repository /usr/people/cvs
- Created environment variable CVSROOT (by adding a line to .cshrc):
    setenv CVSROOT /usr/people/cvs
- Created a repository:
    cvs -d /usr/people/cvs init
- We do not create a passwd file!
  Perhaps make a passwd file with only one line:
    anonymous:

Clients

On a remote machine, add such a line to your .login or .cshrc:
   setenv CVSROOT :pserver:pieter@knorretje.hku.nl:2401/usr/people/cvs
where you substitute pieter by your own unix-login-name on knorretje.hku.nl.


Import (i.e. upload a new project to this CVS server)

Only Pieter Suurmond, Marc Groenewegen and Eduard Aylon are able to put new modules in the server's repository, provided they use their special 'cvs' user-account. All other unix users on this machine can only read and edit files already in the repository.
Before deciding upon a directory- and filename-structure, think twice, because once in CVS, it is hard to change these.
First, put lines like
 $Id: Makefile,v 1.1.1.1 2004/11/29 02:00:00 pieter Exp $
 $Id: wraiff.hxx,v 1.1.1.1 2004/11/29 02:00:00 pieter Exp $
 $Id: wraiff.cxx,v 1.1.1.1 2004/11/29 02:00:00 pieter Exp $
in all your sourcefiles, headers, Makefiles, etc. The exact date, time and revision number are not important, CVS wil overwrite them.
To upload a new project to this CVS server, first go to the toplevel directory of that project, login and import your directory:
   cd .............../wraiffpp
   cvs -d:pserver:cvs@knorretje.hku.nl:2401/usr/people/cvs login
   cvs -d:pserver:cvs@knorretje.hku.nl:2401/usr/people/cvs import -m"Import WRIAFFPP (C++) sources." wraiffpp SOGM V17
Here SOGM is the vendor tag and V17 is the release tag.
It is nice to add the project to file CVSROOT/modules:
  wraiffpp   wraiffpp
but it seems that only root may do that.
Don't forget to logout (i.e. stop being user 'cvs'):
   cvs -d:pserver:cvs@knorretje.hku.nl:2401/usr/people/cvs logout
Now throw away the orginal sources, or at least go to a different directory before checking out the same code.

Checkout (i.e. download from this CVS server)

In case you don't want to type explicit (-d...) commands, first set $CVSROOT. Then login and download the wraiffpp library:
   setenv CVSROOT :pserver:pieter@knorretje.hku.nl:2401/usr/people/cvs
   cvs login
   cvs checkout wraiffpp
which will create a new directory. Go in there:
   cd wraiffpp
You may whish to logout by typing:
  cvs logout

Commit changes (upload changes to this CVS server)

First go to the toplevel directory (with some cd command).
In case you don't want to type explicit (-d...) commands, first set $CVSROOT and login:

  setenv CVSROOT :pserver:pieter@knorretje.hku.nl:2401/usr/people/cvs
  cvs login
To see which files changed (by you, or by someone else!) you may type:
  cvs update

After editing sourcefile wraiff.cxx (in your current dir!), type:
  cvs commit -m 'Changed implementation.' wraiff.cxx
Or, more explicitly, in case environment variable CVSROOT is not set properly:
  cvs -d:pserver:pieter@knorretje.hku.nl:2401/usr/people/cvs commit -m 'Changed implementation.' wraiff.cxx
You may logout by typing:
  cvs logout

View history

To see who accessed what, when:
  cvs history -a 
To show only your own accesses:
  cvs history
To view modifations only, use '-c':
  cvs history -c
  cvs history -c -a

voor GUI lovers

LinCVS: http://www.lincvs.org/
TortoiseCVS: http://www.tortoisecvs.org : erg fijne oscvs voor oa? windows.
WinCVS: http://www.wincvs.org : staan ook tips over hoe je met SSH kan inloggen. Vink bij Admin - Preferences - Checkout files with Unix lf aan. Anders krijg je dat Visual C++ (6) extra lijnen gaat toevoegen.
Dev-C++: Open Source IDE met CVS-functionaliteit: http://www.bloodshed.net/devcpp.html
Pieter Suurmond maakt regelmatig backups van de CVS-repository op deze server.

History of this page