[linux-l] Re: VCS

Rocco Rutte pdmef at cs.tu-berlin.de
Mi Apr 26 11:47:07 CEST 2006


* Steffen Dettmer <steffen at dett.de>:

>Aber wenn Branches und Tags das gleiche sind, würde das doch heissen,
>dass man an Branches auch nicht mehr commiten kann?

Das habe ich irgendwo in dem Thread schonmal geschrieben.

Subversion hat kein "Branch" oder "Tag" Konzept per se. Es kann nur 
Verzeichnisse/Dateien kopieren.

Um eine Branch anzulegen, kopiert man trunk/ nach branches/$foo mit 'svn 
copy', damit die History erhalten bleibt und man hinterher noch mergen 
kann. Dahin darf jeder comitten, der Commit-Rechte hat.

Um einen Tag anzulegen, kopiert man trunk/ nach tags/$foo mit 'svn 
copy', damit die History erhalten bleibt. Dahin darf jeder comitten, der 
Commit-Rechte hat.

Zusammenfassung: man interpretiert in verschiedene Verzeichniskopien das 
Konzept von "Branch" und "Tag" hinein. Das heisst auch, dass man 
diszipliniert sein muss, um nicht in ein Tag-Verzeichnis zu kopieren. 
Besser ist es, per ACL nur das Anlegen von Tags einem Maintainer zu 
erlauben und generell Commits dahin zu verbieten. Das kann man machen. 
Per default darf aber jeder mit Commitrechten überall hin committen.

Und ich habe IIRC auch geschrieben, dass genau diese Verallgemeinerung 
von Tags und Branches auf simple Kopien es schwierig macht, einen 
Tracker zu bauen, der Branches automatisch mergen kann.

   bye, Rocco
-- 
:wq!



Mehr Informationen über die Mailingliste linux-l