Crans
  • Commentaires
  • Page immuable
  • Menu
    • Affichage
    • Carte locale du site
    • Pièces jointes
    • Informations
    • Code source
    • Utilisateur
    • Ajouter un lien
    • S'abonner
  • Connexion
    • Connexion
    • Paramètres

Navigation

  • Modifications récentes
  • Recherche avancée
  • Aide

Trail

  • Git
Version 9 à la date du 2018-02-22 20:40:58
CransWiki:
  • CransTechnique
  • ServicesMineurs
  • Git

Sommaire

  1. Git
  2. Au Cr@ns
    1. Où ?
    2. Qui ?
    3. Et même que
    4. ToDo
    5. Migration d'un dépôt vers git
      1. Depuis darcs
      2. Depuis mercurial

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

  • gitready : de nombreuses "recettes" intéressantes

  • 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. 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 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


CatégoriePagePublique

  • Propulsé par MoinMoin
  • Mentions légales