Benutzer:MathiasMahnke/SVN Git Migration 2015
Aus Opennet
< Benutzer:MathiasMahnke
Version vom 23. November 2017, 11:20 Uhr von MathiasMahnke (Diskussion | Beiträge)
Status: Offen.
Übernahme der Opennet Subversion (SVN) Repositories zur Opennet Git Versionsverwaltung - 08/2015.
SVN Repositories, offen:
- on_firmware_ng - ist leer, kann weg
- on_geronimo - wurde schon nach Git übertragen, kann weg
- on_management_portal - studentisches Projekt "ON Selfservice", wurde nie ganz fertig, eventuell übernehmen wir es einfach nach Git
- on_map - ist leer, kann weg
- on_networkstatus - unsere ursprüngliche Accounting- und Überwachungssoftware samt Karte & etc aus dem Jahr 0 (ff.), würde ich aus mal nach Git rüberholen, wird aber nicht mehr verwendet
- on_useradmin - ein Vorläufer vom "ON Selfservice", vom Thomas M. begonnen, eventuell auch aufgeben?
- on_webstat - analog "networkstatus", spezielle Auswertungen aus den Anfangsjahren (Gateway, OLSR, VPN) von mir, entweder weg oder nach Git rüber
Erledigt:
- on_opennetca - Opennet CA, Migration nach Git erfolgt
- on_firmware - die ursprüngliche Firmware, würde ich ungern wegwerfen, vielleicht retten wir es irgendwie mit rüber, Migration nach Git erfolgt
- on_dta - Export Überweisungen, von Thomas M. aus seiner Zeit als Finanzer, Migration nach Git erfolgt
Migrationsvorgang:
- Anlage mittels Gitolite-admin, Initialisieren (Clone, Init, Commit, Push), Trac (Hook) und für Web vorbereiten (Apache, update-server-info)
- Migration
svn checkout svn://svn.opennet-initiative.de/<repository> cd <repository> svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > authors-transform.txt vi authors-transform.txt ... git svn clone svn://svn.opennet-initiative.de/<repository> --no-metadata -A authors-transform.txt --stdlayout ../<repository>.git git branch -av .. ggf. noch Tags und Branches übernehmen (TODO) ... git remote add origin git@dev.opennet-initiative.de/<repository> git push -u origin master #git push --tags #git push origin <branch>
- ggf. mit Merge in ein Repository (per Unterverzeichnis)
... git svn clone svn://svn.opennet-initiative.de/<old-repository> --no-metadata -A authors-transform.txt --stdlayout ../<old-repository>.git cd <old-repository>.git git mv -k * <old-repository> git commit -m "prepare <old-repository> for import" cd .. git clone git@dev.opennet-initiative.de:<new-repository> cd <new-repository> git remote add temp ../<repository>.git/ git fetch temp git merge temp/master --allow-unrelated-histories -m "merge with <old-repository>" git remote rm temp git commit -m "added <old-repository> from svn" git push