Subversion mit vendor branches

Mal ein Eintrag in Kategorie „Tools, die ich gerne schon früher gekannt hätte“: Subversion mit vendor branches um eine eigene Version fremder Software zu pflegen, zum Beispiel um eigene Bugfixes drinzuhaben.

Die Verzeichnisstruktur hat dann üblicherweise ein /trunk für die Arbeitsversion und /vendor mit Unterverzeichnissen für die Upstream-Releases (die sich nicht ändern und deshalb nicht unter /trunk, /tags oder /branch liegen sollten). Ziel ist dann bei einem neuen Release alle Änderungen (also der diff zweier Verzeichnisse) auf die eigene Arbeitsversion (im dritten Verzeichnis) anzuwenden. Das Kommando dafür hat dann die Form: svn merge --accept mine-full --ignore-ancestry https://server.../vendor/snort-2.9.1 https://server.../vendor/snort-2.9.2 ./trunk/snort

Das entsprechende Kapitel im SVN-Book fand ich als Anleitung wenig hilfreich, aber Schritt-für-Schritt-Anleitungen findet sich in diesen Artikeln.

Interessanterweise ist dies ein Feature bzw. ein Workflow der sich nicht so einfach mit git nachbilden lässt (habe es auch noch nicht gebraucht, aber dieser Nachbau scheint zu funktionieren).

Comments are closed.