6135 links
  • GuiGui's Show
  • Home
  • Login
  • RSS Feed
  • ATOM Feed
  • Tag cloud
  • Picture wall
  • Daily
Links per page: 20 50 100
 
  • Migrer un projet SVN vers GIT [ avec conservation de l'historique ] - yterium.net

    Migrer un dépôt SVN vers un dépôt git avec conservation de l'historique :

    • Installer l'outil : aptitude install git-svn

    • Créer un fichier de correspondance entre les noms d'auteur / login svn et les noms d'auteurs git :

      authors=$(svn log -q svn://login@monserveursvn.exemple/mondepot | grep -e '^r' | awk 'BEGIN { FS = "|" } ; { print $2 }' | sort | uniq)
      for author in ${authors}; do
          echo "${author} = ${author%@*} <${author}>";
      done



      Dans la partie gauche : le nom d'auteur SVN. Dans la partie droite, son équivalent git. Attention : l'équivalent git doit vraiment être de la forme « texte », sinon une erreur se produira. Dans mon cas, j'utilise un gitlab. Dans la partie droite, j'ai mis les infos (name et email) de mon fichier .gitconfig. Gitlab a parfaitement associé cela à mon login gitlab, comme avec un dépôt git nouvellement créé \o/ ;

    • Convertir le dépôt : git svn --authors-file=authors clonesvn://login@monserveursvn.exemple/mondepot dossier_destination. Attention : la conversion prend beaucoup de temps : 45 minutes pour 12500 commits dans un dépôt svn contenant 120 fichiers qui représentent cumulativement 13700 lignes ;

    • Dans les message de commit, supprimer les références au dépôt SVN ajoutées automatiquement par git-svn (je vais détruire le dépôt svn, donc inutile d'y faire référence) :

      cd mondepot
      git filter-branch --msg-filter '
          sed -e "/git-svn-id:/d"
      '


    • Créer le dépôt git distant (sur gitlab, gogs, etc.) et ajouter sa référence dans les paramètres du dépôt local :

      cd mondepot
      git remote add origin user@monservergit.exemple:mondepotgit


    • Synchroniser le dépôt distant avec notre exemplaire local : git push -u origin master.
    February 8, 2019 at 3:59:47 PM UTC - permalink - https://www.yterium.net/Migrer-un-projet-SVN-vers-GIT?lang=fr
Links per page: 20 50 100
 
Mentions légales identiques à celles de mon blog | CC BY-SA 3.0

Shaarli - The personal, minimalist, super fast, database-free, bookmarking service by the Shaarli community