Page en construction… feel free to add your knowledge
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
/*Les /etc de nombreux serveurs sont encore sous darcs, il faudrait les passer à git ou tout mettre dans bcfg2.*/
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