CVS --- gestion de versions concurrentes
quelques infos pour demarrer
(juste pour demarrer)

vous ne pourrez plus vous en passez!



A quoi ca sert


  • principalement, a coder a plusieurs sur un meme projet, typiquement de programmation
  • aussi, a rediger des rapports collaborativements, du moins pour les logiciels de traitement de texte "compiles", comme LaTeX.


Methode:


Un serveur S, gere par un administrateur A, contient des "repositorys" contenant chacun une arborescence de fichiers.
  • Pour pouvoir utiliser le serveur S, un utilisateur U doit: demander a l'administrateur A de lui ouvrir un compte.
  • pour cela, l'administrateur A va typiquement demander a U
    • un login
    • un password
  • l'administrateur A va aussi fournir a U:
    • un type de serveur (typiquement "pserver")
    • un identifiant genre "machin@truc.org"
    • un chemin, genre "/users/truc/machin/cvs
    ou bien directement un CVSROOT de la forme
    CVSROOT=:pserveur:machin@truc.org:/users/truc/machin/cvs
  • l'utilisateur U va alors pouvoir s' "enregistrer"; pour cela, U va lancer
    cvs -d :pserveur:machin@truc.org:/users/truc/machin/cv s
  • U peut alors recuperer sa copie du repository:
    • s'installer dans le repertoire /users/moi/oujeveux
    • taper "cvs checkout R" avec R le nom du repository et voir qu'il y a desormais /users/moi/oujeveux/R

  • Quand U veut mettre a jour sa copie (i.e. profiter des ameliorations apportees par les autres personnes travaillant sur le projet), il tape simplement
    cd /users/moi/oujeveux/R ; cvs update -d
  • Quand U est content de sa copie (tout compile, a minima), il peut l'envoyer sur le serveur en tapant
    cd /users/moi/oujeveux/R; cvs update -d ; cvs commit -m mon_message_pour_dire_ce_que_j_ai_fait
    Attention; si U est malchanceux, cvs update peut lui repondre qu'il y a des "conflicts" dans certains fichiers. Il convient alors d'editer les fichiers problematiques, et de corriger manuellement les problemes, signales nettement par des balises, puis de recommencer apres avoir bien verifie que tout est ok, compile, etc.


  • Beaucoup d'options sont possibles (droits differents des utilisateurs, etc)
  • Interface graphique: cf "cervisia" sous Linux ou "wincvs" sous windows
  • Autres outils que cvs: svn (alias subversion)
  • Doc plus complete: ici
    Corrections, ajouts: mailez moi