Migrate

Migrate

Ce guide de migration préconise une synchronisation unidirectionnelle de SVN vers Git au cours de la période de transition. Cela signifie que pendant que votre équipe se familiarise avec Git, elle doit continuer de faire des commits dans le dépôt SVN d'origine. Une fois que vous êtes prêt à faire la transition, le dépôt SVN se fige à son état actuel. Les développeurs peuvent ensuite commencer à faire des commits dans leurs dépôts Git locaux et à les partager via Bitbucket.

Migration Git : Synchronisation à sens unique de SVN vers Git

La transition discrète de SVN vers Git permet une migration très intuitive. Tous vos développeurs doivent comprendre les nouveaux workflows de Git qu'ils vont utiliser. Et, ils doivent disposer de suffisamment de temps pour s'entraîner à utiliser les commandes Git sur les dépôts locaux qu'ils ont clonés depuis Bitbucket.

Cette page vous guide lors de la dernière étape de la migration.

Synchroniser le dépôt Git

Avant de finaliser votre migration vers Git, assurez-vous que votre dépôt Git contient tous les nouveaux changements qui ont été commités vers votre dépôt SVN. Vous pouvez faire cela en suivant le processus décrit dans la phase Synchroniser.

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

Sauvegarde du dépôt SVN

Bien que vous puissiez voir l'historique de votre projet Git dans le dépôt migré, il est judicieux de sauvegarder le dépôt SVN au cas où vous devriez explorer les données SVN brutes. Pour sauvegarder facilement un dépôt SVN, vous pouvez procéder comme suit sur l'ordinateur qui héberge le dépôt SVN central. Si votre dépôt SVN est hébergé sur un ordinateur Linux, vous pouvez utiliser la méthode suivante :

svnadmin dump <repo-svn> | gzip -9 > <fichier-sauvegarde>

Remplacez <dépôt-svn> par le chemin d'accès au dépôt SVN que vous êtes sur le point de sauvegarder, puis remplacez <fichier-sauvegarde> par le chemin d'accès au fichier compressé contenant la sauvegarde.

Passez le dépôt SVN en lecture seule

All of your developers should now be committing with Git. To enforce this convention, you can make your SVN repository read-only. This process can vary depending on your server setup, but if you’re using the svnserve daemon, you can accomplish this by editing your SVN repo’s conf/svnserve.conf file. It’s [general] section should contain the following lines:

anon-access = read
auth-access = read

This tells svnserve that both anonymous and authenticated users only have read permissions.

Summary

And that’s all there is to migrating a project to Git. Your team should now be developing with a pure Git workflow and enjoying all of the benefits of distributed development. Good job!

Prêt à découvrir Git ?

Essayez ce tutoriel interactif.

Démarrez maintenant