Migreren

Deze migratiehandleiding pleit voor een eenrichtingssynchronisatie van SVN naar Git tijdens de overgangsperiode. Dit betekent dat terwijl je team zich vertrouwd maakt met Git, ze zich nog steeds alleen moeten committen naar de oorspronkelijke SVN-repository. Als je klaar bent om over te stappen, moet de SVN-repository worden vastgezet in welke staat deze zich ook bevindt. Daarna moeten ontwikkelaars committen naar hun lokale Git-repository's en deze delen via Bitbucket.

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

De discrete overstap van SVN naar Git zorgt voor een zeer intuïtieve migratie. Al je ontwikkelaars zouden al moeten begrijpen welke nieuwe Git-workflows ze gaan gebruiken, en ze moeten genoeg tijd hebben gehad om te oefenen met het gebruik van Git-opdrachten in de lokale repository's die ze vanuit Bitbucket hebben gekloond.

Deze pagina helpt je bij de laatste stap van de migratie.

De Git-repository synchroniseren

Voordat je de migratie naar Git voltooit, moet je ervoor zorgen dat je Git-repository alle nieuwe wijzigingen bevat die zijn gecommit naar je SVN-repository. Je kunt dit doen met hetzelfde proces als beschreven in de synchronisatiefase.

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

Back-up maken van de SVN-repository

Hoewel je nog steeds de geschiedenis van je pre-Git-project kunt zien in de gemigreerde repository, is het een goed idee om een back-up te maken van de SVN-repository voor het geval je ooit de onbewerkte SVN-gegevens wilt verkennen. Een eenvoudige manier om een back-up van een SVN-repo te maken, is door het volgende uit te voeren op de computer waarop de centrale SVN-repository staat. Als je SVN-repo wordt gehost op een Linux-machine, kun je het volgende gebruiken:

svnadmin dump  | gzip -9 >

Vervang <svn-repo> door het bestandspad van de SVN-repository waarvan je een back-up maakt, en vervang het <backup-file> door het bestandspad van het gecomprimeerde bestand dat de back-up bevat.

De SVN-repository alleen-lezen maken

Al je ontwikkelaars zouden nu moeten committen naar Git. Om toe te zien op de naleving van deze werkwijze, kun je ervoor zorgen dat je SVN-repository alleen-lezen is. Dit proces kan variëren afhankelijk van de instellingen van je server, maar als je de daemon svnserve gebruikt, kun je dit doen door het bestand conf/svnserve.conf van je SVN-repo's te bewerken. Het gedeelte [general] zou de volgende regels moeten bevatten:

anon-access = read auth-access = read

Dit vertelt svnserve dat zowel anonieme als geverifieerde gebruikers alleen leesrechten hebben.

Samenvatting

En dat is alles wat er voor nodig is om een project naar Git te migreren. Je team zou nu moeten ontwikkelen met een zuivere Git-workflow en van alle voordelen van gedistribueerde ontwikkeling kunnen profiteren. Goed gedaan!

Voor jou aanbevolen

Bitbucket-blog

DevOps-leertraject

Meer informatie over Git

Vind meer Git-handleidingen en -resources in deze hub.