Einzelnen Beitrag anzeigen

Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#23

AW: Revisionssystem einführen

  Alt 21. Okt 2010, 23:02
CVS ist doof, seine Merging-Fähigkeiten räudig, aber wir setzen es noch für diverse Dinge ein. CVS hat aber einen Vorteil, wenn man das gute alte System einsetzt: man kann die RCS-Dateien modifizieren, umbenennen, verschieben, ... ganz so daß bekannte Funktionen anderer VCS nachgestellt werden können. (Dies kann man aber auch als Nachteil ansehen ... am Ende ist es aber bei allen mir bekannten VCS und DVCS möglich Manipulationen in einem gewissen Rahmen vorzunehmen.)

SVN ist besser, aber meines Erachtens zeigen sich die Schwächen sobald man die neueren DVCS (Git, Mercurial, Bazaar) erstmal angetestet hat. Wir setzen SVN bei uns aber dennoch ebenfalls ein.

Mercurial ist derzeit mein Favorit, insbesondere weil Git zusammengeschustert ist (kein ursprüngliches einheitliches Konzept erkennbar und ein Mischmasch aus Skripten und anderen "Teilen") und Bazaar mir noch nicht erwachsen erscheint. Allerdings würde ich Bazaar fast ohne Zögern ebenfalls einsetzen. Git und Hg setzen wir in unseren Teams auch ein und ich weiß, daß das Virenlabor auch mit Bazaar arbeitet. Will heißen: alle funktionieren hinreichend gut. Ich kann nur empfehlen (so habe ich es gemacht) diverse VCS gegeneinander zu vergleichen und dabei die wichtigsten Fälle in der eigenen Umgebung durchzuspielen. Bei mir kam Mercurial als Sieger raus, aber ich bin mir sicher daß unter anderen Umständen auch Bazaar infrage käme.

SVN und CVS haben aber noch einen weiteren Nachteil. Sie belassen Dateien nicht so wie sie sind. Das erkennt man insbesondere bei sogenannten Textdateien. Ein echtes VCS darf einfach nicht mit den Daten herumspielen.

Aber nun zu dem Grund warum wir uns Zeit lassen eine Umstellung vorzunehmen.

Man kann CVS und Hg, bzw. SVN und Hg kombinieren. Klingt seltsam? Nunja, das Gute an DVCS ist, daß sie die komplette Versionshistorie bieten. Alle von ihnen kommen mit sehr guten Konvertierungswerkzeugen. Aber ich will auf etwas anderes hinaus. Man kann eine CVS/SVN Arbeitskopie auch zu einem DVCS-Repo machen, mit Hg mache ich dies sehr häufig. Dann hat man sozusagen ein "duales System". Hg bietet auch den Befehl addremove um einfach alle Dateien in einem Verzeichnis zum Repo hinzuzufügen. Dazu sollte man einzig alle CVS/SVN-Metadateien in .hgignore eintragen und dann "hg addremove" laufen lassen. Dann hat man alle Dateien auch in dem neuerstellten Hg-Repo und kann dort bequem und mit Hg arbeiten, branchen, mergen etc und später bei Zufriedenheit einen Zwischenstand in CVS/SVN einchecken. Eine komplett auf Hg basierende Lösung wäre zwar dennoch besser, aber egal ... so hat man lokal (oder auf beliebig vielen Rechnern) alle Vorteile von Hg, inklusive Queue-Management und muß dennoch nicht jemanden überzeugen auf ein anderes VCS zu wechseln.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)

Geändert von Assarbad (21. Okt 2010 um 23:05 Uhr)
  Mit Zitat antworten Zitat