1303
Commentaire: embryon de doc
|
3321
|
Texte supprimé. | Texte ajouté. |
Ligne 10: | Ligne 10: |
{{{git}}} est un logiciel ce versionnement, actuellement sans doute un des plus poussés. | {{{git}}} est un [[CransTechnique/Versionnement|logiciel de versionnement]], sans doute un des plus puissant actuellement. |
Ligne 12: | Ligne 12: |
De la doc sur git : [[http://git-scm.com/documentation|la doc officielle en anglais]] ou [[http://doc.ubuntu-fr.org/git|la doc ubuntu moins fournie mais en français]]. | De la doc sur le wiki [[WikiInformatique/HowToGit|HowToGit]]. |
Ligne 14: | Ligne 14: |
Un [[http://www.siteduzero.com/informatique/tutoriels/gerez-vos-codes-source-avec-git|tuto]] pour apprendre à se servir de git. | 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) |
Ligne 17: | Ligne 21: |
Les projets du Cr@ns sont pour leur quasi-totalité sous {{{git}}}. | Les projets du Cr@ns sont sous {{{git}}}. |
Ligne 20: | Ligne 24: |
Les dépôts git sont hébergés sur [[CransTechnique/LesServeurs/ServeurCharybde|charybde]], dans le path {{{/git}}} (lien symbolique vars {{{/pubftp/git}}}). | Les dépôts git sont hébergés sur [[CransTechnique/LesServeurs/ServeurGeet|geet]], dans le path {{{/gitlab/repositories}}}. Les anciens dépôts git sont hébergés sur [[CransTechnique/LesServeurs/ServeurGeet|geet]], dans le path {{{/git}}}. La majorité des projets utilise maintenant gitlab. |
Ligne 23: | Ligne 29: |
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. | Les projets sont gérés par [[CransTechnique/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. |
Ligne 26: | Ligne 34: |
On a aussi un [[/GitWeb|gitweb]] ! | On a aussi un [[CransTechnique/GitLab|gitlab]] et un [[/GitWeb|gitweb]] ! |
Ligne 29: | Ligne 37: |
Les {{{/etc}}} de nombreux serveurs sont encore sous {{{darcs}}}, il faudrait les passer à git ou tout mettre dans bcfg2. | /*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 [[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 <<DateTime(2013-06-26T10:52:00+0100)>> |
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