SVN Repo "splitten"
-
Hallo Zusammen,
ich verwende TortoiseSVN für die Versionsverwaltung meiner Projekte.
Eines dieser Projekte liegt seit längerem in einem Repo, zusammen mit allen zugehörigen Modulen/Libraries.
Da die zugehörigen Libraries unabhängig vom eigentlichen Projekt funktionieren und daher auch in anderen
Projekten Anwendung finden könnten, hatte ich vor, diese in eigene Repos zu "verschieben".Jetzt hab ich allerdings das Problem, dass ich nicht weiter weiß - die Doku spuckt nichts in der Richtung aus.
Die einzige Möglichkeit die mir einfällt, wäre jede einzelne Revision mit Comments in neues Repo zu committen...Hat vll. jemand eine Idee?
-
Andere Idee wäre, das Repo auf dem Server zu kopieren (das sollte einfach so gehen, oder?), dann die Kopie auschecken und das nicht benötigte jeweils löschen. Ist aber auch irgendwie unschön.
-
SG1 schrieb:
Andere Idee wäre, das Repo auf dem Server zu kopieren (das sollte einfach so gehen, oder?), dann die Kopie auschecken und das nicht benötigte jeweils löschen. Ist aber auch irgendwie unschön.
Da dürften aber die Comments und die History verloren gehen.
Jedenfalls hab ich gerade einen Weg gefunden:
http://stackoverflow.com/questions/1965642/loading-dumped-part-of-repository-doest-take-any-effectDanke für das Interesse.
-
Du kannst auch alles in einem einzigen Repo verwalten.
Also ein Repo für mehrere getrennte Projekte (+ die gemeinsam genutzten Libs).z.B.
/libs /libs/lib_a /libs/lib_a/branches /libs/lib_a/tags /libs/lib_a/trunk /libs/lib_b /libs/lib_b/branches /libs/lib_b/tags /libs/lib_b/trunk /project_x /project_x/branches /project_x/tags /project_x/trunk /project_y /project_y/branches /project_y/tags /project_y/trunk /project_z /project_z/branches /project_z/tags /project_z/trunk
Der Vorteil dabei ist, dass du die benötigten Versionen der Libs für eine bestimmte Version eines Projektes einfach in das entsprechende /branches oder /tags Verzeichnis reinkopieren kannst.
Dabei hast du nach wie vor vollen Zugriff auf die History der Libs aus dem Branch/Tag, und kannst auch weiterhin relativ problemlos mergen (so sehr oder wenig problemlos wie es eben mit SVN allgemein geht). Also z.B. eine Änderung in
/project_x/branches/some_branch/libs/lib_a/...
committen, und dann nach/libs/lib_a/trunk
zurückmergen.Ansonsten... svndumpfilter sollte man zum Splitten verwenden können. Das SVN Dump Format ist auch relativ einfach selbst zu parsen & zu modifizieren, wenn man etwas machen will was svndumpfilter nicht kann.
-
hustbaer schrieb:
...
Ja, so sieht mein Repo im Moment auch aus, jedes Teilprojekt hat seinen eigenen Branch/Tag/Trunk-Ordner.
Ich hab es nur für nachteilig empfunden, dass alle diese Teilprojekte, bzw. das ganze Repo, sich eine Revision teilen.Aber wie du schon sagtest, im Nachhinein betrachtet bringt das ganze aber mehr Vorteile als Nachteile...