SVN Projekte zusammenführen?
Hallo, ich habe auf einem Rechner in einem bestimmten Verzeichnis mehrere SVN Respositories: /home/svn/store/projekt1 /projekt2 ... Die einzelnen Projekte sind blöderweise sehr unüblich strukturiert. Normalerweise würde ich eine Struktur ähnlich folgender erwarten: /projekt/trunk # die aktuelle Entwicklungsversion /tags # versionierte Pakete /branches # Entwicklungszweige zum Experimentieren abseits der # normalen Entwicklung Leider sind nun im gegebenen Fall die Projekte so organisiert, daß es trunk, tags, etc. nicht gibt. Statt dessen liegt die aktuelle Entwicklerversion direkt in /projekt. Das verhindert, daß man definierte Stände nach tags/version kopieren kann. Vom Branching möchte ich garnicht erst reden. Kann man (und wenn ja wie) die einzelnen Projekte zusammenfassen, so daß /home/svn/store ein großes Repository wird, ohne daß dabei die Geschichte verloren geht? Dann könnte man wenigstens folgende Struktur implementieren: /home/svn/store/projekt1 /projekt2 /TAGS/projekt1 /TAGS/projekt2 /BRANCHES/projekt1 ... Bedingung dabei ist, daß die Entwickler keinen neuen Checkout machen müssen. Die SVN URL svn+ssh://user@host/home/svn/store/projekt sollte weiterhin gültig bleiben. Ist das möglich? Danke, Torsten -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am 09.04.08 schrieb Torsten Foertsch
/home/svn/store/projekt1 /projekt2 ...
Die einzelnen Projekte sind blöderweise sehr unüblich strukturiert. Normalerweise würde ich eine Struktur ähnlich folgender erwarten:
/projekt/trunk # die aktuelle Entwicklungsversion /tags # versionierte Pakete /branches # Entwicklungszweige zum Experimentieren abseits der # normalen Entwicklung
Leider sind nun im gegebenen Fall die Projekte so organisiert, daß es trunk, tags, etc. nicht gibt. Statt dessen liegt die aktuelle Entwicklerversion direkt in /projekt. Das verhindert, daß man definierte Stände nach tags/version kopieren kann. Vom Branching möchte ich garnicht erst reden.
Kann man (und wenn ja wie) die einzelnen Projekte zusammenfassen, so daß /home/svn/store ein großes Repository wird, ohne daß dabei die Geschichte verloren geht? Dann könnte man wenigstens folgende Struktur implementieren:
/home/svn/store/projekt1 /projekt2 /TAGS/projekt1 /TAGS/projekt2 /BRANCHES/projekt1 ...
Da es alles ein Repo ist, sollten diverse svn move reichen. Ansonsten: http://subversion.tigris.org/faq.html
Bedingung dabei ist, daß die Entwickler keinen neuen Checkout machen müssen. Die SVN URL svn+ssh://user@host/home/svn/store/projekt sollte weiterhin gültig bleiben.
Ist das möglich?
Bestenfalls als Symlinks... Achja: http://svn.collab.net/repos/svn/trunk/doc/user/svn-best-practices.html Gruß Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Torsten, On Wednesday 09 April 2008 10:38:34 Torsten Foertsch wrote:
/home/svn/store/projekt1 /projekt2 /TAGS/projekt1 /TAGS/projekt2 /BRANCHES/projekt1
Entweder per svn:externals (siehe Subversion Manual) etwas tricksen. Zwei getrennte Repositories zu einem zusammenfuehren duerfte wegen der asynchron laufenden Revisions nicht ganz einfach sein. Unter http://subversion.tigris.org/faq.html#multi-merge ist dies ohne korrekter Revs auch so erklaert. Eventuell hilft ja aber dennoch ein genauerer Blick auf "svnadmin dump" und avt. auch "svndumpfilter". Im Dumpfile kann man durchaus von Hand herumschrauben, das funktioniert recht gut. Vielleicht kannst du dir ja etwas basteln, das getrennte Reps zusammenfuehrt, eventuell sogar "isochron". Aber evt. ist ja unter http://svn.borg.ch/svndumptool/ http://www.coelho.net/svn-merge-repos.html etwas brauchbares dabei. Roman -- Roman Fietze Telemotive AG Büro Mühlhausen -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (3)
-
Martin Schröder
-
Roman Fietze
-
Torsten Foertsch