[linux-l] Re: Versionskontrollen

Steffen Dettmer steffen at dett.de
Mi Jan 24 21:19:27 CET 2007


* Peter Ross wrote on Tue, Jan 23, 2007 at 21:37 +1100:
> > Wie gesagt, ich halte das Branch/Tag-Konzept von Subversion für einen üblen
> > Hack, den sie gemacht haben, um schnell genug die kritische Masse an Usern zu
> > generieren, die sie für Akzeptanz brauchten.
> 
> Mag ja sein, dass es _intern_ nicht gerade erste Sahne ist, aber wegen 
> vielleicht nicht gerade erstklassiger Umsetzung ("CheapCopies") zu sagen, 
> es existiere nicht, ist wirklich Ideologie. Es tut, was es soll, es ist 
> ein fuer den Anwender nutzbares Feature.

Ich finds jedenfalls auch recht bekloppt, nicht intuitiv oder natürlich.
"übler Hack" klingt treffend.

> > Ein Tag ist zum Beispiel für mich nicht veränderbarer Inhalt sondern
> > logisch ein Pointer auf einen bestimmten Zustand. Das leistet
> > subversion nunmal nicht.  Da kann ja gleich eine Textdatei ins
> > Repository speichern ala "Revision 100 ist Tag 'Release 1.0'" und
> > dann nach dem gewünschten Release gucken und die richtige Revision
> > auschecken... :-/
> 
> Ja, koenntest Du. Mehr leistet ein "Tag" Deiner Definition auch nicht. 
> Eine Revisionsnummer in Subversion IST ein "bestimmter Zustand", und ein 
> Tag ein Pointer darauf.

Nein, ein "tag" in SVN ist KEIN Zustand (Revisionsnummer). Diese wäre ja
ewig reproduzierbar. In SVN ist ein Tag aber ein Branch. Ein Branch kann
natürlich VIELE Zustände haben (pro commit einen). Logisch sind Tag und
Branches was grundsätzlich verschiedenes. Also keine cheap copies (das
ist ja nur eines).

Zwischen zwei Tags ist in CVS ein Changeset (nicht unbedingt ein
sinnvolles/reales). Ein Branch ist eine Reihe von "Changesets". Find ich
logisch. Wenn ich vor und nach *jedem* einchecken tagge, kann ich
sozusagen mit Changesets arbeiten. Gut, CVS weiss immer noch nicht,
welche wovon abhängen etc, klar. 

Wie ist das bei SVN?

> Bei CVS leistet dieses Tag eben mehr - da Revisionsnr. nur fileweise
> gelten, "buendelt" es so alle Files eines bestimmten Zustandes, der
> bei jeder Datei einer anderen Revisionsno. entspricht.

Nein, in CVS ist ein Tag das, was Du von SVN behauptest: es ist ein
"Pointer" auf einen "bestimmten Zustand" oder auch kurz es IST ein
"bestimmter Zustand".

> Wie Du schon richtig bemerkt hast, bedarf es des Tags unter Subversion 
> eigentlich.

Meinst Du eigentlich "nicht"? Weil man Nummern hat? Klar, DNS braucht
man eigentlich auch nicht. Man kann ja IPs auswendig lernen.

> Trotzdem ist es fuer mich praktisch, da ich so (ohne externe
> Textdatei) und Nachgucken auf dem Server, auf dem es installiert
> wurde, jederzeit nachgucken kann, welcher Patchlevel in Dubai als
> Version 8.3 ausgecheckt wurde (Tag "Dubai").

Geht das bei SVN nicht?

oki,

Steffen

-- 
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.





Mehr Informationen über die Mailingliste linux-l