Unterschied zwischen CVS und Subversion

CVS vs. Subversion

Das Concurrent Versions System (auch bekannt als Concurrent Versioning System oder CVS) ist ein Versionsverwaltungssystem für freie Software - das heißt, es ist ein Programm, das geöffnet werden kann die Öffentlichkeit, die Änderungen an Dokumenten, Programmen und anderen in Computerdateien gespeicherten Informationen verwaltet). Es ermöglicht mehreren Entwicklern zusammenzuarbeiten.

Subversion (auch bekannt als SVN) ist ein Versionsverwaltungssystem, das zum Verwalten der aktuellen und der Vorgängerversionen von Dateien (wie Quellcode, Webseiten und Dokumentation) verwendet wird. Es ist ein direktes Upgrade von CVS und seinem kompatibelsten Nachfolger. Es ist auch eine Open-Source-Technologie und wurde in vielen Projekten wie Apache Software Foundation, Free Pascal, MediaWiki und Google-Code verwendet.

CVS verwendet Client-Server-Architektur - das bedeutet, dass ein Server eine aktuelle Version (oder Versionen) eines bestimmten Projekts speichert und seinen Verlauf speichert. Der Client verbindet sich dann mit dem Server, um eine Kopie des Projekts, das vor seiner Verbindung mit dem Server abgeschlossen wurde, auszuprobieren. Der Client ist dann in der Lage, an dieser Kopie des Projekts zu arbeiten und dann die Änderungen zu überprüfen, die er später vorgenommen hat. Ein CVS ermöglicht es einem Kunden, sich auf eine Kopie eines bestimmten Projekts einzuloggen. CVS ermöglicht mehreren Clients, gleichzeitig an demselben Projekt zu arbeiten und sich an demselben Projekt zu beteiligen. Die Clients können die Dateien in ihrer eigenen Arbeitskopie des Projekts ändern und diese Änderungen an den Server senden.

Subversion commits - das heißt, erstellt eine Reihe von vorläufigen Änderungen und macht sie permanent - als echte atomare (oder eine Reihe von Datenoperationen, in denen entweder alles vorkommt oder nichts vorkommt). Subversion ermöglicht Benutzern auch das Umbenennen, Kopieren, Verschieben und / oder Entfernen von Dateien. Diese Dateien behalten jedoch ihren vollständigen Revisionsverlauf bei. Dieses System verwendet eine parsable Ausgabe, native Client- / Server-Bibliothekslayer und Branching und Tagging als billige Operationen (unabhängig von der Größe der Datei). 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 verwalten - das heißt, verschiedene Aspekte oder Permutationen desselben Projekts können vom Quellprojekt abzweigen und CVS wird alle Versionen beibehalten (eine freigegebene Version des Projekt bildet einen Zweig für Fehlerkorrekturen, während eine andere Version, die gerade entwickelt wird, neue Funktionen und wichtige Änderungen enthalten kann und zum Beispiel einen Zweig desselben Projekts bildet).

Zusammenfassung:
1. CVS ermöglicht mehreren Benutzern die Zusammenarbeit an demselben Projekt. Subversion behält die aktuelle und die vorherige Version der Dateien bei.
2. CVS ermöglicht es Benutzern, sich an demselben Projekt anzumelden und es zu ändern; Subversion wird als echte atomare Operationen festgelegt.
3. CVS kann verschiedene Zweige eines Projekts verwalten; Subversion verwendet eine parsable Ausgabe.