Ich hab gerade
dises script zum verwalten komplexer branches und merges mit subversion geschrieben. Wenn man mit
svnbranch branch einen neuen branch erstellt wird bei diesem in dem
svnbranch:parent property gespeichert von welchen tree in welcher version weggebranched wurde. Danach kann man leicht mit
svnbranch sync aenderungen vom parent in den branch synchronisieren, mit
svnbranch merge den branch wieder in den parent (oder woandershin) mergen und mit
svnbranch diff sich die aenderungen zum parent (natuerlich zu der version von der gebranched oder zuletzt gesynced wurde) anzeigen lassen.

Darueber hinaus kann man natuerlich wieder von branches wegbranchen. Es ist auch moeglich mit
svnbranch sync URL den parent zu aendern (und entsprechend die unterschiede zwischen altem und neuen parent in den branch zu mergen). Beides ist recht praktisch wenn man z.Bsp. einen vendor tree hat und in einer solchen kette von branches weitere 3rd party patches verwaltet bis letztendlich am ende dieser kette der branch fuer die eigenen modifikationen steht. Mit
svnbranch ist es da recht einfach zusaetzliche glieder in diese kette einzubauen, bestehende zu entfernen oder auch die reihenfolge zu aendern.
Last but not least besteht die moeglichkeit sich die branchingstruktur mit
svnbranch list ausgeben oder mit
svnbranch graph via graphviz plotten zu lassen. Das geht natuerlich sowohl fuer das ganze repository als auch fuer ausgewaehlte teile davon. Das Bild auf der seite zeigt einen solchen teilgraphen fuer das subversion repository von
STFL. Damit
svnbranch nicht das gesamte repository rekursiv nach
svnbranch:parent properties durchsuchen muss ist es aber fuer dieses feature notwendig das im root-directory des repositories ein
svnbranch:index property vorhanden ist in dem auf alle branches verwiesen wird. Im fall von STFL steht in diesem property einfach
tags/*. Es ist auch moeglich einen Baum solcher
svnbranch:index properties aufzubauen da
svnbranch in jedem durch so ein property referenziertem directory auch nach einem weiteren
svnbranch:index property sucht.
Zugegebenermassen ist das script selbst ein ziemlicher hack. Aber ich denke dennoch, dass jeder der subversion ernsthaft einsetzt sich es mal ansehen und ausprobieren sollte. Und wenn es nur ist um etwas motivation aufzustauen es doch selber etwas besser zu machen..
Das ganze ist uebrigens teil meines "privaten" tools package in dem ich einige kleine scripte angesammelt habe die mir im alltag das leben etwas leichter machen. Moeglicherweise ist ja auch fuer den einen oder anderen noch was anderes interessantes mit dabei:
http://svn.clifford.at/tools/trunk/
Nachdem ich vor 30 Minuten gefragt wurde warum ich sowas eigentlich nicht blogge hole ich das jetzt einfach mal nach: in meinem Cliffords Tools Package tut sich staendig was. Aenderungen der letzten Zeit: Svnbranch und die anderen svn helper apps werden s
Tracked: Oct 11, 22:29