Je me décide enfin à succomber au buzz et tente ma chance sous Git.
Pas tant pour le cote décentralisé que pour les merge simplifiés et les gros move lors d'important refactoring.
Pour tester la bête je vais d'abord migrer des projets existants de Subversion à Git en m'inspirant de cet excellent billet de Jon Maddox :
http://www.jonmaddox.com/2008/03/05/cleanly-migrate-your-subversion-repository-to-a-git-repository
Assembla propose un hébergement Git gratuit jusqu'à 2Go par repository.
J'utilise msysgit pour Git sous Windows.
Une fois Git installé, on identifie l'utilisateur qui fera les commit:
git config --global user.name "Cedric Thiebault" git config --global user.email "cedric.thiebault@gmail.com"
Sans cette configuration, Git utilisera directement les informations contenues dans votre profil utilisateur système.
Ensuite, il faut créer un fichier texte qui va faire le mapping entre les users SVN et les users Git (svn-git-users.txt):
cthiebault = Cedric Thiebault <cedric.thiebault@gmail.com>
Nous allons maintenant récupérer le projets et son historique depuis SVN dans un répertoire temporaire (sous Git). Finalement, nous clonerons se projet temporaire vers un vrai repository final que nous "pousserons" vers le repository Assembla dans la branche principale (master).
mkdir project-tmp cd project-tmp git svn init https://svn-repository/project/trunk --no-metadata git config svn.authorsfile ../svn-git-users.txt git svn fetch cd .. git clone project-tmp project cd project git remote add project git@git.assembla.com:project.git git push project master
Quelques sites bien pratique pour débuter avec Git :
Git dans la pratique (1/2)
Git dans la pratique (2/2)
Git Ready
#gitfr