So ein lokales SVN-Repository kann man sicher leicht auf einen Remote-Server verschieben, sollte man denken. Geht so, vor allem wenn man lokal nur EIN Repo hat mit Projekt-Unterverzeichnissen, und Remote dann (glücklicherweise) je Projekt ein Repo erstellt hat. Nun ja .. so gehts.
Lokale Arbeiten
Lokales Repo: /SVNROOT
Projektpfad im SVN: /CrmZeiterfassung
(gibt es so nicht unterhalb SVNROOT)
ggf. lokale Änderungen einchecken!
svnadmin dump /SVNROOT > svnroot.svn_dump
svndumpfilter include CrmZeiterfassung < svnroot.svn_dump > zeiterfassung.svn_dump
Remote Arbeiten
svnadmin create /SVNROOT/zeiterfassung/
svnadmin load /SVNROOT/zeiterfassung >/var/www/vhosts/test.rh-flow.de/zeiterfassung.svn_dump
Da ich mit root importiert habe, werden nun noch paar Rechte gefixt:
chown -R www-data.subversion zeiterfassung/
chmod -R g+w zeiterfassung/
Ist nicht die feine englische Art, aber ist bei den anderen Repos auch so, und da weiß ich nicht mehr wie ich die angelegt und importiert habe.
Checkout
cd /var/www/vhosts/zeiterfassung
svn co /SVNROOT/zeiterfassung
oder halt per SSH von Remote Server:
svn co svn+ssh://username@andererrechner.tld/SVNROOT/zeiterfassung
Die Verzeichnisstruktur wird jetzt zeiterfassung/CrmZeiterfassung/branches
o.ä. sein, also eine doppelte Struktur. Per svn move
und svn delete
und anschließendes svn commit
bekommt man das aber hin. Bei mir ist nun aus zeiterfassung/CrmZeiterfassung/branches/prod
einfach zeiterfassung/trunk
geworden.
Für Tipps wie es besser geht, gerade die Rechte-Sache, gerne per Twitter @rhflow_de oder hier als Kommentar.
Quellen:
Pete Freitag: Moving a Subversion Repository to Another Server
Repository Maintenance: Dump & Filtering
SVN over ssh HOWTO