www.wikidata.de-de.nina.az
Concurrent Versions System CVS ist ein Software System zur Versionsverwaltung von Dateien das hauptsachlich im Zusammenhang mit Software Quelltext verwendet wird Concurrent Versions SystemBasisdatenMaintainer CVS TeamEntwickler The CVS TeamErscheinungsjahr 19 November 1990 1 Aktuelle Version 1 11 23 2 3 8 Mai 2008 Betriebssystem Unix WindowsProgrammiersprache C 4 Kategorie VersionsverwaltungLizenz GNU General Public License Version 1 0 oder spater 5 savannah nongnu org projects cvsDie Referenzimplementierung von CVS wird nicht mehr aktiv weiterentwickelt Die offizielle Website dieser wird nicht mehr weiter betreut allerdings sind weiterhin Benutzer auf den Mailinglisten aktiv Inhaltsverzeichnis 1 Allgemeines 2 Funktionsweise 3 Herkunft und Ableger 4 Siehe auch 5 Literatur 6 Weblinks 7 EinzelnachweiseAllgemeines BearbeitenDas ursprungliche CVS ist ein reines Kommandozeilen Programm aber es wurde fur alle gangigen Betriebssysteme mindestens eine grafische Oberflache entwickelt zum Beispiel TortoiseCVS und WinCVS fur Windows MacCVS fur den Apple Macintosh und Cervisia fur KDE unter Linux LinCVS und SmartCVS funktionieren auf Windows Linux und macOS CVS erfreute sich lange Zeit besonders in der Open Source Gemeinde grosser Beliebtheit So kam es bei den meisten grossen Open Source Projekten zum Einsatz Das Softwaresystem wird unter anderem auch auf den Servern von SourceForge net verwendet Allerdings wurde es bei den meisten grossen Open Source Projekten durch modernere Versionsverwaltungen wie Apache Subversion oder Git abgelost Auch im kommerziellen Umfeld ist auf Grund der nicht mehr gegebenen aktiven Weiterentwicklung eine Ablosung durch modernere Versionsverwaltungen zu beobachten Hier wird vor allem Subversion eingesetzt da dieses als logischer Nachfolger von CVS mit nur geringem Umstellungsaufwand verstanden wird Funktionsweise BearbeitenCVS vereinfacht die Verwaltung von Quellcode dadurch dass es alle Dateien eines Software Projektes an einer zentralen Stelle einem sogenannten Repository speichert Dabei konnen jederzeit einzelne Dateien verandert werden es bleiben jedoch alle fruheren Versionen erhalten einsehbar und wiederherstellbar Auch konnen die Unterschiede zwischen bestimmten Versionen herausgestellt werden So hilft CVS dabei einen Uberblick uber die einzelnen Versionen der Dateien und die dazugehorigen Kommentare zu behalten Es kann insbesondere verwendet werden um bei grosseren Projekten die Arbeit der verschiedenen Entwickler zu koordinieren Die Arbeitsweise ist dabei vereinfacht gesehen folgende Ein Mitarbeiter an dem Projekt holt sich zunachst den aktuellen Stand aller Dateien eines Projekts aus dem Repository Dies bezeichnet man als auschecken von engl check out Dabei werden von CVS Metadaten angelegt die es ermoglichen zu erkennen welche Versionen der Dateien zuletzt ausgecheckt wurden Dann nimmt der Mitarbeiter Anderungen an einer oder mehreren Dateien vor Wenn er damit fertig ist oder bei grosseren Anderungen einen konsistenten Zwischenstand erreicht hat spielt er diese neuen Versionen der geanderten Dateien zuruck ins Repository einchecken genannt von engl check in Probleme konnen sich ergeben wenn mehrere Mitarbeiter gleichzeitig eine Datei verandern Diese Probleme konnen entweder von vornherein verhindert durch Lock bei Revision Control System verwendet bei CVS untypisch oder im Nachhinein meist relativ leicht behoben werden Merge zumindest dann wenn unterschiedliche Teile einer Datei verandert wurden Evtl auftretende Konflikte mussen manuell ausgeraumt werden Wer nur Code herunterladen will kann alternativ auch das Feature Anonymous CVS Access benutzen CVS verwendet Delta Kodierung um dadurch Platz zu sparen dass nur die Differenzen zwischen Dateiversionen anstatt der gesamten Versionen abgespeichert werden Das Repository kann lokal in einem Verzeichnis auf dem Rechner liegen oder aber auf einem Server im Internet Durch diesen Fernzugriff ist es leicht moglich dass eine uber den Globus verteilte Entwicklergruppe gemeinsam an einem Projekt arbeitet Auf viele Open Source Projekte ist neben dem Entwicklerzugriff auch ein anonymer rein lesender Zugriff erlaubt Herkunft und Ableger BearbeitenDie Entwicklung von CVS begann 1989 als Weiterentwicklung von RCS Revision Control System und SCCS Source Code Control System Im Unterschied zu diesen ist CVS in der Lage mehrere Dateien zur gleichen Zeit zu speichern wobei aber das gleiche Dateiformat wie bei RCS benutzt wird CVS hat allerdings auch einige Einschrankungen zum Beispiel beim Umgang mit Binardaten und Verzeichnissen Das als CVS Nachfolger gehandelte neu entwickelte Apache Subversion will diese beheben Neben dem teilweise auch konzeptionell anders angelegten Subversion gibt es verschiedene Neu oder Reimplementierungen von CVS die Sicherheitsmangel beheben und mit anderen Verbesserungen aufwarten So existiert etwa eine Neuentwicklung von CVS mit dem Namen CVSNT fur Windows welche bereits fur Linux ruckportiert wurde Dieses Server System bietet ahnlich wie Subversion viele Verbesserungen gegenuber der alten CVS Entwicklungslinie Mit OpenCVS hat das OpenBSD Projekt ein eigenes CVS von Grund auf entwickelt Die Motivation dahinter waren einerseits Lizenz andererseits Sicherheitsprobleme mit dem offiziellen CVS OpenCVS erfahrt bis heute Updates und Wartung 6 7 Auch wurde OpenCVS im Funktionsumfang leicht erweitert So ist es unter anderem Moglich mittels eines Mdocdate Schlusselwortes den Inhalt durch ein mdoc formatierten Zeitstempel zu ersetzen was gerade in der Wartung von man pages hilfreich ist Viele der kommerziellen Configuration Management Werkzeuge basieren auf RCS oder CVS Siehe auch BearbeitenGit Apache Subversion Mercurial Bazaar GNU arch Fossil DarcsLiteratur BearbeitenKarl Franz Fogel Moshe Bar Open Source Development with CVS 3 Auflage Paraglyph Press Juli 2003 ISBN 1 932111 81 6 online lesen Gregor N Purdy CVS Pocket Reference 2 Auflage O Reilly 1 September 2003 ISBN 0 596 00567 9Weblinks BearbeitenOpen Source Development with CVS 3rd Edition Onlinebuch Offizielle CVS Website englisch Linkkatalog zum Thema Versionskontrolle bei curlie org ehemals DMOZ Einzelnachweise Bearbeiten cvs savannah gnu org Derek Robert Price Concurrent Versions System News Stable CVS Version 1 11 23 Released 8 Mai 2008 englisch abgerufen am 10 Februar 2021 Derek Price Stable CVS Version 1 11 23 Released 8 Mai 2008 englisch abgerufen am 10 Februar 2021 The cvs Open Source Project on Open Hub Languages Page In Open Hub abgerufen am 19 Oktober 2018 cvs savannah nongnu org abgerufen am 20 Januar 2022 src usr bin cvs Abgerufen am 12 Juni 2021 OpenCVS Abgerufen am 12 Juni 2021 Normdaten Sachbegriff GND 4597700 8 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Concurrent Versions System amp oldid 228020847