Sommaire
Git
git est un logiciel de versionnement, sans doute un des plus puissant actuellement.
De la doc sur le wiki HowToGit.
Un peu de doc externe :
Tuto sdz pour débuter
la doc ubuntu (français)
la doc officielle (anglais)
Au Cr@ns
Les projets du Cr@ns sont sous git.
Où ?
Les dépôts git sont hébergés sur geet, dans le path /gitlab/repositories.
Les anciens dépôts git sont hébergés sur geet, dans le path /git. La majorité des projets utilise maintenant gitlab.
Qui ?
Les projets sont gérés par gitlab. Les projets Cr@ns sont répartis dans 2 groupes, Nounous et Membres actifs. Tout le monde peux cloner les projets en SSH ou HTTPS. Les apprentis peuvent demander à une nounous de pusher leurs commits dans un projet de Nounous.
Pour les anciens dépôts dans /git, les nounous ont les droits d'écriture dessus (sans sudo, sinon c'est que quelqu'un a cassé quelque chose), les apprentis peuvent les cloner en SSH et demander à une nounou de puller leurs commits.
Et même que
On a aussi un gitlab et un gitweb !
ToDo
Migration d'un dépôt vers git
On a tendance à migrer tous les dépôts vers git.
Depuis darcs
Pour convertir les dépôt Cr@ns, un script en ruby disponible sur github a été utilisé.
./darcs-to-git -h est limpide, il est vraiment très facile d'utilisation et il marche bien à quelques détails près :
- Il ne gérait pas les caractères non-ASCII (encodés assez bizarrement par darcs), et comme je connais pas le ruby, j'ai hardcodé les remplacements.
- Si on veut commencer à convertir à partir d'un patch donné, il faut modifier le code, on ne peut pas le passer en paramètre.
Cependant comme certaines personnes ont fait des choses sales à une époque dans le dépôt darcs, la conversion a planté et il a fallu faire un commit sauvage au milieu pour raccorder les morceaux. (Ce qui explique le besoin de convertir à partir d'un patch donné pour convertir la deuxième moitié)
Depuis mercurial
http://hivelogic.com/articles/converting-from-mercurial-to-git (non testé, mais ça a l'air cool)
Hg-Git est une extension de mercurial qui permet de communiquer avec un dépôt Git, it just works.
Déjà utilisé une fois sans problème -- OlivierIffrig 2013-06-26 11:52:00