CVSvsSubversion

Aus SKM Wiki

Wechseln zu: Navigation, Suche

[bearbeiten] Unterschied CVS / Subversion

CVS Subversion
Atomare commits Nein Ja
Umbenennung/Verschieben von Dateien und/oder Verzeichnissen Nein. Ja
Kopieren von Dateien und/oder Verzeichnissen Nein Ja
Repository Replication Ja aber indirekt durch die Nutzung von CVSup by John Polstra (Benötigt auf einen cvsupd Installation) Ja (entweder via svnsync seit 1.4 oder kommerziell via WANdisco oder Chia-Ling Kao's SVN::Mirror Script oder per svn-push Utility von Shlomi Fish).
Propagierung von Änderung in ein anderes Repository Nein Ja (entweder via svnsync seit 1.4 oder kommerziell via WANdisco oder Chia-Ling Kao's SVN::Mirror Script oder per svn-push Utility von Shlomi Fish).
Repository Zugriffsrechte Eingeschränkt. Es ist möglich mithilfe der Hook-Scripte in CVS entsprechende Zugriffsrechte zu simulieren. Ja. Mit WebDAV (Rechte pro Pfad und Nutzer einstellbar) oder LDAP oder per Hook-Script völlig eigenständiges System implementierbar.
ChangeSet Unterstützung Nein. Fileorientiert. Je nach dem was man unter einem ChangeSet versteht Ja/Nein
Zeilenweise Änderungshistorie Ja, per cvs annotate Ja, per svn blame
Erzeugung Tag Ja.

Die Zeit bis ein Tag erzeugt ist, hängt von der Anzahl der Dateien im Projekt ab. cvs tag TAGNAME

Ja.

Konstante Zeit (ca. 1-2 Sekunden). svn cp URL/trunk URL/tags/TAGNAME

Erzeugung Branch Ja.

Die Zeit bis ein Branch erzeugt ist, hängt von der Anzahl der Dateien im Projekt ab. cvs tab -b BRANCH_NAME

Semantische Unterscheidung zwischen Tags und Branches

Ja.

Konstante Zeit (ca. 1-2 Sekunden). svn copy URL/trunk URL/branches/BRANCH_NAME

Cherry Picking Nein.

Es kann immer nur der gesamte Branch gemerged werden. cvs update -j BRANCH_NAME

Ja.

Es können auch Teile eines Branches germerged werden. svn merge -r From:To URL/branches/BRANCH_NAME

  • Atomare Commits
    • Unter diesem Begriff ist zu verstehen, dass bei einem Fehlschlag einer Teiloperation (z.B. Konflikt etc.) in nur einer Datei die gesamte Operation abgebrochen wird. Das gilt aber auch für Fehler während der Übertragung der Daten in das Repository (Netzwerkfehler etc.).


Ansichten
Persönliche Werkzeuge