CVS1 ist das "Concurrent Versions System", ein netzwerktransparentes Versionskontroll-System. Im Bereich FreieSoftware und OpenSource ist es sehr verbreitet, weil man damit im Team Software entwickeln kann, auch wenn die Programmierer über die ganze Welt verstreut sind.

Homepage: http://www.cvshome.org/

Lizenz: GPL

Online-Handbücher:

Seiten hier im Wiki:

Papierware:

CVS in Stichworten

cat >>~/.cvsrc
diff -u
update -P
cvs -q
<Strg-D>

Damit werden dann immer unified Diffs erstellt, update immer mit -P aufgerufen und cvs immer mit der globalen Option -q (also relativ "leise").

Beschränkungen von CVS

CVS GUI-Frontends

Es gibt verschiedene Ansätze, die angeblich viel zu komplizierte Benutzung von cvs durch ein GUI-Frontend zu vereinfachen.

jCVS

SmartCVS

TkCVS

Cervisia

Cervisia nutzt die QT-Bibliothek und ist eine wirklich praktische Sache. Cervisia ist in KDE 3 bereits enthalten und kann für ältere Versionen von http://cervisia.sourceforge.net runtergeladen werden. Cervisia kann die Struktur eines Repositories grafisch darstellen und auch Diffs farbig anzeigen.

nautilus-apotheke

Apotheke ist ein Plugin für den Datei Manager nautilus von GNOME mit ähnlichen Fähigkeiten wie Cervisia für KDE.

CVS Utilities

Für CVS gibt es diverse unterstützende Programme, um die Anwendung von CVS zu vereinfachen.

cvsfs

cvsfs ermöglicht die Einbindung eines CVS Repository analog zu einem mount-Befehl. Dabei werden die von CVS verwalteten Dateien in einem lokalen Verzeichnis eingeblendet. Ein Vorteil dabei ist, dass man die Dateien nicht erst per "cvs co" auf die lokale Platte kopieren muss, nur um zu sehen, ob es eine bestimmte Datei gibt. Eine weiterführende Beschreibung gibt es hier auf der Seite cvsfs.

Weitere Versionsverwaltungssoftware

siehe auch ONLamp.com: The New Breed of Version Control Systems

Fragen

OffeneFrage

Gibt es eine Möglichkeit CVS so zu verwenden, dass es zwei verschiedene Repositories benutzen kann? Beispiel:

Ich habe auf meinem Notebook Dateien, die ich mal zu Hause und mal auf der Arbeit, ab und an auch unterwegs bearbeite. Auf der Arbeit gibt es ein pserver-basiertes CVS Repository. Nun würde ich gerne auch unterwegs und zu Hause eine Versionierung haben, um Zwischenstände sichern zu können. Dafür böte sich wohl ein lokales Repository auf dem Notebook an. Ziel ist es, unterwegs auch Zwischenstände commiten zu können und dann in der Firma wenigstens den Endstand, idealerweise auch die Zwischenstände in das Master-Repository zu übernehmen.

Auf Slashdot hat gerade jemand was von einer gepatchten CVS-Version, die mehrere Repositories unterstützt, geschrieben. Kennt die jemand? Ausserdem könnte ich mir vorstellen, dass es Tools gibt, die in den CVS Unterverzeichnissen rumpatchen, um einen Tree auf ein anderes Repository umzuschalten, damit wäre mir für's erste auch geholfen, vorausgesetzt es funktioniert zuverlässig. Hat da vielleicht wer 'nen Tip?

-- twm

arch -- ThomasWaldmann 2003-11-13 08:37:36

Soweit ich das sehen kann, ist arch ein von cvs unabhängiges Sourcecodeverwaltungsprogramm, das nicht auf ein existierendes cvs Repository zugreifen kann. Insofern hilft es mir nicht weiter, da eine Voraussetzung ist, dass ich das Repository in der Firma verwenden kann, welches nunmal cvs basiert ist. Oder schlägst Du vor, cvs und arch parallel zu verwenden? -- twm

Ich mach das derzeit genau so. MoinMoin hat ein offizielles CVS, entwickeln tue ich aber mit tla. Ein Branch in tla ist dabei immer synchronisiert mit dem offiziellen cvs. So kann man beides gleichzeitig nutzen. Steht übrigens auch in der tla-Doku, wie das genau geht. -- ThomasWaldmann 2003-11-16 13:29:55


KategorieVersionsKontrollSystem

  1. diese Seite heißt "cvs" und nicht "CVS", weil CVS nämlich zur Verwaltung ein Verzeichnis "CVS" benutzt - daher ist der Seitenname in Kleinbuchstaben geschrieben, um Konflikte zwischen dem Dateinamen der Seite und diesem Verzeichnis zu vermeiden. (1)

cvs (zuletzt geändert am 2007-12-23 22:49:32 durch localhost)