Close

Migration

Dieser Migrationsleitfaden empfiehlt während der Übergangsphase eine monodirektionale Synchronisierung von SVN zu Git. Während sich dein Team mit Git vertraut macht, sollte es also nur Commits an das ursprüngliche SVN-Repository durchführen. Wenn ihr für den Wechsel bereit seid, sollte das SVN-Repository im derzeitigen Zustand gesperrt werden. Von nun an wird an die lokalen Git-Repositorys committet und über Bitbucket geteilt.

/wac/git-microsite/images/tutorials/migrating/migrating-migrate/01.svg

Dieser allmähliche Wechsel von SVN zu Git, bei dem beide Systeme separat gehalten werden, sorgt für eine sehr intuitive Migration. Alle deine Entwickler haben in der Zwischenzeit die neuen Git-Workflows kennengelernt und hatten reichlich Zeit, die Git-Befehle in den lokalen, von Bitbucket geklonten Repositorys zu üben.

Auf dieser Seite wirst du durch den finalen Schritt der Migration geleitet.


Synchronisieren des Git-Repositorys


Vergewissere dich, bevor du deine Migration zu Git abschließt, dass dein Git-Repository auch alle neuen Änderungen enthält, die in dein SVN-Repository committet wurden. Dabei kannst du ganz genauso vorgehen wie in der Synchronisierungsphase.

git svn fetch
java -Dfile.encoding=utf-8 -jar ~/svn-migration-scripts.jar sync-rebase
java -Dfile.encoding=utf-8 -jar ~/svn-migration-scripts.jar clean-git --force

Backup des SVN-Repositorys

Auch wenn du den alten Projektverlauf aus Zeiten vor Git im migrierten Repository noch sehen kannst, ist es für den Fall, dass du einmal die SVN-Rohdaten durchsuchen musst, empfehlenswert ein Backup des SVN-Repositorys zu erstellen. Du kannst ein Backup eines SVN-Repos einfach durchführen, indem du den folgenden Befehl auf dem Rechner ausführst, der das zentrale SVN-Repository hostet. Wenn dein SVN-Repo auf einem Linux-Rechner gehostet wird, gibst du Folgendes ein:

svnadmin dump  | gzip -9 > 
Datenbanken
Zugehöriges Material

Verschieben eines vollständigen Git-Repositorys

Bitbucket-Logo
Lösung anzeigen

Git kennenlernen mit Bitbucket Cloud

Replace svn-repo with the file path of the SVN repository that you backing up, and replace backup-file with the file path of the compressed file containing the backup.

Einrichten eines Schreibschutzes für das SVN-Repository

Alle deine Entwickler sollten jetzt Commits mit Git durchführen. Um diese Konvention durchzusetzen, kannst du dein SVN-Repository als schreibgeschützt festlegen. Dieser Vorgang kann je nach Server-Setup variieren. Wenn du aber den svnserve-Daemon verwendest, kannst du dies durch Bearbeitung der conf/svnserve.conf-Datei deines SVN-Repositorys erreichen. Der Abschnitt [general] sollte die folgenden Zeilen enthalten:

anon-access = read auth-access = read

Hiermit wird svnserve mitgeteilt, dass sowohl anonyme als auch authentifizierte Benutzer nur Leseberechtigungen haben.

Zusammenfassung


Das ist alles, was zur Migration eines Projekts nach Git nötig ist. Dein Team sollte jetzt mit einem reinen Git-Workflow entwickeln und alle Vorteile der verteilten Entwicklung nutzen können. Sehr gut!


Diesen Artikel teilen

Lesenswert

Füge diese Ressourcen deinen Lesezeichen hinzu, um mehr über DevOps-Teams und fortlaufende Updates zu DevOps bei Atlassian zu erfahren.

Mitarbeiter arbeiten mit unzähligen Tools zusammen

Bitbucket-Blog

Abbildung: DevOps

DevOps-Lernpfad

Demo Den: Feature-Demos mit Atlassian-Experten

So funktioniert Bitbucket Cloud mit Atlassian Open DevOps

Melde dich für unseren DevOps-Newsletter an

Thank you for signing up