[linux-l] Versionskontrollen (war: Warum gibt es keine einheitliche Dokumentation?)

Volker Grabsch vog at notjusthosting.com
Mi Jan 24 12:50:23 CET 2007


On Wed, Jan 24, 2007 at 02:27:00PM +1100, Peter Ross wrote:
> On Tue, 23 Jan 2007, Volker Grabsch wrote:
> > On Sun, Jan 21, 2007 at 03:58:24PM +0100, Steffen Dettmer wrote:
> > > > Versions-Basiert    |  Changeset-Basiert
> > > > ------------------------------------------
> > > > RCS                 |  Darcs
> > > > CVS                 |  GIT
> > > > Subversion          |  Mercurial
> > > >                     |  Arch
> > > >                     |  Monotone
> ..
> 
> Im weiteren redest Du ueber Vorteile einer verteilten Versionskontrolle, 
> und das macht dann Deine Punkte wesentlich klarer.

Ich habe "Changeset" nur in dieser einen Bedeutung kennengelernt,
mit Ausnahme von Subversion, die ihn unbedingt auch für sich
beanspruchen wollen.

Stellt man ganz hohe Ansprüche an diesen Begriff, versagen sogar
Mercurial und GIT, dann ist nur noch Darcs changeset-basiert, weil
man dort die Patches zu unabhängig wie nur irgendwie möglich um-
arrangieren und verschieben kann.

Diese extreme Auslegung von Changeset hat Darcs aber nicht für
sich als Begriff in Anspruch genommen.

Subversion macht das gleiche, nur dass es nicht besonders viele,
sondern besonders wenige Anforderungen an ein Changeset stellt,
und daher diesen Begriff aufweicht, um ihn auch für sich beanspruchen
zu können. Meine Meinung.

> Kannst Du mir zustimmen, dass Du also eine Tabelle mit "zentraler vs. 
> verteilter Versionskontrolle" gemeint hast?

Ich stimme zu, dass wegen dieser komischen Subversion-Definition der
Begriff "Changeset" ungeeignet ist, bleiben wir also bei "zentralisiert
vs. verteilt". Dass eine verteilte VK etwas höhere Ansprüche an den
Begriff des "Changesets" stellen muss, ist sowieo klar, braucht also
nicht extra im Begriff erwähnt werden.

> Zu Changesets dieses schoene Bonmot:
> 
> Everyone seems to have a slightly different definition of "changeset" or 
> at least a different expectation of what it means for a version control 
> system to have "changeset features".
> 
> http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.branchmerge.commonuses.wholebr

Ich denke, das ist kein gutes Beispiel. Wo sind die Quellen? Es wird
die viel zu allgemeine Behauptung in den Raum gestellt, "jeder" definiere
Changesets anders, und als Konsequenz definiert man seine eigene Version
dieses Begriffes. Es wird nirgends auf die Unterschiede zwischen dem
eigenen Begriff und den (angeblich voneinander abweichenden) Begriffen
der anderen VK eingegangen. Ich habe das Subversion-Buch sehr gemocht,
als ich es zum ersten Mal gelesen habe. Aber diese Passage finde ich
sehr unprofessionell.

Schon allein das Kapitel "Best Practices for Merging" demonstriert
eindrucksvoll, wie wenig entwickelt die Changesets in Subversion sind.
(wozu "Best Practices" für etwas, das die Software eigentlich voll-
automatisch machen soll?)

Und dieser Anspruch des schmerzfreien Mergens hat erstmal noch nichts
mit verteilt vs. zentralisiert zu tun, sondern mit der Verwaltung der
Changesets. Jedoch scheinen die verteilten VK immer auch diejenigen zu
sein, die vernünftiges Merging (d.h. ein vernünftiges Chageset-Konzept)
haben.

Wenn wir die Begriffe aufdröseln, wäre eine zentralisierte VK denkbar,
die dennoch professionelle Changeset-Verwaltung (insbesondere Branches
und Merges ohne Admin-Overhead) besitzt. Vielleicht gibt es sowas
tatsächlich. Subversion und CVS sind es aber IMHO nicht.

> Dem ich voellig zustimmen kann. Sofwaretechnologen werden wohl zurecht von 
> Mathematikern nicht ernst genommen, da sich erstere offensichtlich nicht 
  ^^^^^^^^^^^^^
> einmal zu eindeutigen Definitionen durchringen koennen..

Auch von Informatikern werden sie nicht sooo ernst genommen.

Und damit meine ich die, die an der Uni ihre praktischen Erfahrungen
weitergeben, und nicht die, die in das Marketing-Blabla ihrer aktuellen
Ideologie verfallen.
(Gibt's sowohl im kommerziellen Bereich, als auch leider bei OpenSource)

> Naja, zumindest in Australien werden mehr und mehr "computer 
> science"-Studiengaenge mit irgendwas mit "business" im Namen 
> zusammengelegt, danach bleibt wahrscheinlich lediglich fuzzy logic uebrig.

Nein, Fuzzy-Logic ist ein vernünftiges Konzept, das kaum einer einsetzt.

Informatik+Wirtschaft hingegen produziert eher das Gegenteil ...  :-(


Viele Grüße,

    Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l