<> = Git = {{{git}}} est un [[CransTechnique/ServicesMineurs/Versionnement|logiciel de versionnement]], sans doute un des plus puissant actuellement. De la doc sur le wiki [[WikiInformatique/HowToGit|HowToGit]]. Un peu de doc externe : * [[http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git|Tuto sdz]] pour débuter * [[http://gitready.com/|gitready : de nombreuses "recettes" intéressantes]] * [[http://doc.ubuntu-fr.org/git|la doc ubuntu]] (français) * [[http://git-scm.com/documentation|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 [[CransTechnique/LesServeurs/Virtuels/ServeurGeet|geet]], dans le path {{{/gitlab/repositories}}}. Les anciens dépôts git sont hébergés sur [[CransTechnique/LesServeurs/Virtuels/ServeurGeet|geet]], dans le path {{{/git}}}. La majorité des projets utilise maintenant [[CransTechnique/ServicesMineurs/GitLab|gitlab]]. == Qui ? == Les projets sont gérés par [[CransTechnique/ServicesMineurs/GitLab|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, [[http://perso.crans.org/respbats/config/.umaskrc|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 [[CransTechnique/ServicesMineurs/GitLab|gitlab]] et un [[/GitWeb|gitweb]] ! == ToDo == /* Les {{{/etc}}} de nombreux serveurs sont encore sous {{{darcs}}}, il faudrait les passer à git ou tout mettre dans bcfg2. C'est fini il me semble*/ == 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 [[https://github.com/purcell/darcs-to-git|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 [[WikiAdg|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) * [[http://hg-git.github.io/|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 <> ---- CatégoriePagePublique