Migration de SVN vers Git

This page is a translated version of the page Migrating from SVN to Git and the translation is 100% complete.

Donc, vous avez une copie SVN (checkout) d'un wiki de développement ou de production, et vous voulez le changez en un dépôt Git...

Noyau (nee "pahse3")

Ceci n'a a pas actuellement (22/12/2019) été testé !

Ceci assume que votre wiki est sur /var/www, avec les fichiers wiki dans votre répertoire w.

  1. Make a backup of your files (doing your database aswell wouldn't be a bad thing)! If you want to keep any changes you've made to mediawiki code, save the results of
    svn diff
    .
  2. Strip out all the old .svn folders (though, we possibly don't want to delete the ones from the extensions. Hmmm)
    cd /var/www
    find ./w -name ".svn" -type d -exec rm -rf {} \;
    
  3. Do a Git clone into a new folder
    Anonymous:
    git clone https://gerrit.wikimedia.org/r/mediawiki/core.git git
    Wikimedia developer account:
    git clone ssh://<USERNAME>@gerrit.wikimedia.org:29418/mediawiki/core.git git
  4. Change this Git clone to the wanted version
    cd git
    
    To make your Git clone use a branch:
    git checkout origin/REL1_18
    To make your Git clone use a tag:
    git checkout 1.18.2
  5. Copy this git clone over your SVN files
    cd ..
    cp -ra git/. w/
    
  6. Party!

Changements à venir

Donc, vous devez faire quelque mises à jour, à cause de mises à jour de sécurités, de nouvelles versions, etc. Voir Télécharger depuis Git#Changer de Version

Migrer les extensions

Quelques extensions ont été déplacées vers Git, d'autres sont toujours en Subversion. Dans le futur ce ne sera plus le cas, mais maintenant ça l'est. Toutes les extensions déployées sur le groupe de projets Wikimedia ont migré, avec d'autres à la requête de leurs auteurs.

Un processus similaire à celui utilisé pour migrer le noyau (pahse3) peut être utilisé pour les extensions.

Voir aussi