neo's nice place neo's nice place sitemap
neo's nice place
main
about me
berlin
guestbook
links
links
miscellaneous
sitemap
 

 

30.04.2002  

CVS
Concurrent Versions System

Regeln:
  • In jeder Datei muss "$id$" vorkommen
  • Nur compilierbare Dateien hochladen
  • Wenn Fehler bekannt sind, müssen sie klar auskommentiert werden und andere
    (die vom eigenen Code abhängig sind) sollten direkt gewarnt werden.
  • Generell sollte viel kommentiert werden
CVS - Begriffe
  • Branch - Zweig, indem Bugs unabhängig gefixed werden können
  • Checkout - einmaliges anlegen eines lokalen Verzeichnisbaums
  • Globale Datei - Datei in der Repository
  • Lokale Datei - Datei auf dem heimischen Rechner
  • Modul - Verzeichnis in der Repository, das unser Projekt enthält
  • Release - rekonstruierbare Zwischenversion des Projektes
  • Repository - "Behälter", der alle Dateien und Verzeichnisse auf dem Server enthält
  • Tag - ~ Versionsname
FAQ

  • Wie erstelle ich eine working copy (Arbeitsverzeichnis)?
    Man wechselt in das Verzeichnis, wo die working copy erstellt werden soll und gibt dann cvs checkout [verzeichnis] ein. Der Name des repository braucht nicht als Verzeichnis auftauchen.

  • Ich möchte aber nur bestimmte Versionen der Dateien in meiner working copy haben. Wie geht das?
    Mit Hilfe von Filtern. Eine Befehlszeile könnte so aussehen:
    cvs checkout -r [tag/versionsnummer] [verzeichnis]

  • Wie kann ich gleich mehrere Verzeichnisse auschecken? Handelt es sich um Unterverzeichnisse, werden diese automatisch mit ausgecheckt. Ansonsten kann man die Verzeichnisse hintereinander eingeben. Beispiel:
    cvs checkout [verzeichnis] {[verzeichnis] …}

  • Und wie kann ich nun meine Änderungen wieder ins repository bringen?
    Für alle Dateien mit Unterverzeichnissen:
    cvs commit
    Einzelne Dateien:
    cvs commit [dateiname] {[dateiname] …}
    Mit Kommentar:
    cvs commit -m "text" {[dateiname]}
    Mit Änderung der Versionsnummer:
    cvs commit -r x.y -m "text" {[dateiname]}

  • Ich habe alle Änderungen vorgenommen und die Dateien im repository aktualisiert. Wie lösche ich meine working copy von meiner Festplatte?
    Man wechselt in das nächst höhere Verzeichnis von der working copy aus. Danach: cvs release -d [verzeichnis]
die wichtigsten Befehle

cvs kommando "filename" ~ kommando wird auf Datei ausgeführt (ohne
Dateiangabe, wird das kommando auf alle Dateien im Verzeichnis angewendet


Befehl
kursive Wörter sind Platzhalter
Erklärung
cvs -- help - commands zeigt die wichtigsten Befehle an
cvs - help kommando Hilfe zu einzelnen kommandos
cvs checkout einmaliges anlegen eines lokalen Verzeichnisbaums, indem
die Dateien und Unterverzeichnisse im Verzeichnis modul
aus der Repositry kopiert werden
cvs update bringt das lokale Verzeichnis auf den neusten Stand
cvs add "filename" lädt eine neue Datei in die Repository. Um sie global
verfügbar zu machen, muss cvs commit "filename" folgen
cvs add -kb -m "..." "filename" verändert die Datei nicht (für nicht-Java Dateien)
!!! ohne "-kb" werden solche Dateien mgl. zerstört !!!
-m "..." fügt eine
Message ein
cvs commit "filename" beförderte eine (oder mehrere) bearbeitete Datei(en) in die
Repository und verlangt einen Kommentar cvs log "filename" - zeigt
alle Kommentare zu einer Datei an
cvs diff "filename" zeigt Unterschiede zw. lokaler und globaler Datei an
cvs status "filename" zeigt den Status an


CVS-GUIs:

Links


Kontakt

top

sitemap