[linux-l] Re: Versionskontrollen

Rocco Rutte pdmef at cs.tu-berlin.de
Mo Jan 22 15:04:36 CET 2007


Hi,

* Steffen Dettmer [07-01-21 16:11:14 +0100] wrote:
>* Volker Grabsch wrote on Sun, Jan 21, 2007 at 12:54 +0100:

>> Besteht dein Feature hingegen aus meheren Changesets (mehreren
>> "commits"), musst du in Subversion einen Branch anlegen. Insbesondere
>> müssen beide Entwickler jeweils online sein, und der Branch muss
>> vorher explizit angelegt werden.

>WAS?! Stimmt das so? Wäre ja noch ein extremer CVS Vorteil (dass man
>branches nicht /vorher/ anlegen muss - weil man vorher vielleicht gar
>nicht weiss, dass man einen braucht)! Aber glaube ich erstmal nicht. So
>schlecht kann SVN ja nu auch nicht sein.

Was heisst denn "vorher"? Man kann Branches (also Kopie von xyz) zu 
jeder Zeit natürlich anlegen und löschen. Mann muss vor der Entwicklung 
eines Topics in einer Branch natürlich explizit die Branch anlegen (wie 
in jedem anderen VCS auch), aber wieviel History das eigentliche 
Repository schon hat ist dabei natürlich egal.

>> Branches werden von Subversion im Vergleich zu CVS relativ elegant
>> gehandhabt. Aber im Vergleich zu den verteilten VK ist Subversion
>> verdammt umständlich.

>elegant? Wieso? Find das blöd. Brauchste ein copy und ein switch. switch
>find ich logisch ok, aber copy?! Ich will doch nix kopieren (rein
>logisch gesehen). Branch als Konvention. lol, mag ja mathematisch auf
>das reduzierbar sein, aber bestimmt nicht für Menschen...

Meine Vermutung ist, dass es nur ein übler Hack war, den sie jetzt nicht 
mehr los werden. Die Kopie ist schon sinnvoll, weil es als Cheapcopy 
implementiert wird, d.h. DB-seitig solltest du beim Anlegen von 
Tags/Branches mit Subversion keinen neuen Speicher brauchen, nur eben 
bei Änderungen.

>> Subversion nicht wirklich. Dort wird alles an einer Kette aufgefädelt.
>> Sicher, die Branches in Form von Kopien sind ganz nett, 

>Ich finde eher, die Branches in Form von Kopien sind technisch eine
>Kette, aber logisch gar keine Kopien (sondern Branches) und sehr wohl
>gerichtete Graphen. Da hat bloss jemand ein Implementierungsdetail als
>Feature verkauft.

Von der menschlichen Logik sind Branches immer Graphen, aber für 
Subversion eben nicht. Es gibt da nur Pfade und Revisionsnummern. Dass 
du jetzt branches/xyz als eine Branch und trunk/ als Hauptlinie 
interpretierst, interessiert subversion nicht. Es gibt nur eine lineare 
Liste von Änderungen an Pfaden, die mit einander etwas zu tun haben 
können aber nicht müssen.

   bye, Rocco
-- 
:wq!



Mehr Informationen über die Mailingliste linux-l