CVS vs. Subversion
Das Concurrent Versions System (auch als Concurrent Versioning System oder CVS bezeichnet) ist ein kostenloses Revisionskontrollsystem für Software. Es ist ein Programm, das der Öffentlichkeit zur Verfügung steht und Änderungen an Dokumenten, Programmen und anderen auf dem Computer gespeicherten Informationen verwaltet Dateien). Dadurch können mehrere Entwickler zusammenarbeiten.
Subversion (auch bekannt als SVN) ist ein Versionskontrollsystem, das zur Verwaltung der aktuellen und früheren Versionen von Dateien (wie Quellcode, Webseiten und Dokumentation) verwendet wird. Es ist ein direktes Upgrade von CVS und seines kompatiblen Nachfolgers. Es handelt sich ebenfalls um eine Open-Source-Technologie, die in zahlreichen Projekten eingesetzt wurde, beispielsweise in der Apache Software Foundation, in Free Pascal, in MediaWiki und in Google-Code.
CVS verwendet die Client-Server-Architektur. Dies bedeutet, dass ein Server eine aktuelle Version (oder Versionen) eines bestimmten Projekts speichert sowie dessen Verlauf speichert. Der Client stellt dann eine Verbindung zum Server her, um eine vor dem Verbindungsaufbau mit dem Server abgeschlossene Kopie des Projekts auszuchecken. Der Kunde kann dann an dieser Kopie des Projekts arbeiten und die später vorgenommenen Änderungen überprüfen. CVS erlaubt nicht nur einem Client, eine Kopie eines bestimmten Projekts einzuchecken, sondern ermöglicht auch mehreren Clients, gleichzeitig an demselben Projekt zu arbeiten und einzuchecken. Die Clients können die Dateien innerhalb ihrer eigenen Arbeitskopie des Projekts ändern und diese Bearbeitungen an den Server senden.
Subversion-Commits erstellen eine Reihe von vorläufigen Änderungen und machen sie dauerhaft als echte atomare (oder eine Reihe von Datenoperationen, bei denen entweder alles oder nichts auftritt). Mit Subversion können Benutzer Dateien auch umbenennen, kopieren, verschieben und / oder entfernen. Diese Dateien behalten jedoch ihren vollständigen Versionsverlauf. Dieses System verwendet eine analysierbare Ausgabe, das native Client / Server-Bibliotheksdesign sowie das Verzweigen und Kennzeichnen als billige Operationen (unabhängig von der Dateigröße). Es gibt Sprachbindungen für PHP, Python, Perl und Java. Subversion kostet auch entsprechend der Änderungsgröße und nicht der Größe der Daten.
CVS kann verschiedene Zweige eines Projekts unterhalten. Das heißt, verschiedene Aspekte oder Permutationen desselben Projekts können vom Quellprojekt abgezweigt werden, und CVS wird alle Versionen beibehalten (eine freigegebene Version des Projekts bildet einen Zweig für Fehlerbehebungen, während Eine andere Version, die derzeit entwickelt wird, kann neue Funktionen und wichtige Änderungen enthalten und beispielsweise einen Zweig desselben Projekts bilden..
Zusammenfassung:
1. CVS ermöglicht mehreren Benutzern die Zusammenarbeit in einem Projekt. Subversion behält die aktuelle und die vorherige Version von Dateien bei.
2. CVS ermöglicht Benutzern, in ein Projekt einzuchecken und es zu ändern. Subversion verpflichtet sich als echte atomare Operationen.
3. CVS kann verschiedene Zweige eines Projekts unterhalten. Subversion verwendet eine analysierbare Ausgabe.