Sortie de la version 1.0 de Git

Posté par (page perso) . Modéré par Florent Zara.
Tags :
0
22
déc.
2005
Gestion de versions
Git, le système de gestion de versions lancé par Linus Torvalds et utilisé par les développeurs du noyau et d'autres projets vient de sortir en version 1.0.

Pour rappel, le projet Git a été lancé par Linus Torvalds lorsque la société BitMover a décidé d'arrêter de diffuser une version gratuite de son logiciel de gestion de versions BitKeeper, alors utilisé par les développeurs du noyau.

De quelques fichiers de code source C initialement distribués par Linus, Git est devenu un projet à part entière, avec de nombreux contributeurs. La maintenance de Git est d'ailleurs maintenant assurée par un autre développeur, Junio Hamano.

Git fait partie des outils de gestion de version distribués, qui selon leurs amateurs, sont très adaptés au modèle décentralisé de développement du Logiciel Libre. Git joue donc dans la même catégorie que Darcs, Bazaar, Monotone, Mercurial, SVK ou GNU Arch.

Comme l'explique la page officielle de Git, quelques points clés de ce logiciel sont la vitesse d'utilisation, à la fois pour le mainteneur du projet et pour les utilisateurs et le fait que l'historique est stocké sous la forme d'un graphe acyclique dirigé, ce qui facilite les fusions répétées et permet de travailler à long terme sur des branches. Toujours selon cette page, le projet Git doit être considéré comme une infrastructure de base pour d'autres projets, tels que Cogito, StGit, (h)gct, gitk, qgit ou gitweb. L'utilisateur se tournera donc plutôt vers une interface texte évoluée, telle que Cogito.

Aller plus loin

  • # Deja une mise a jour

    Posté par (page perso) . Évalué à 10.

    Attention, il y a deja une mise a jour qui corrige un bug ennuyeux sur le support HTTP, il faut donc telecharger la version 1.0.0b ici :

    http://www.kernel.org/pub/software/scm/git/git-1.0.0b.tar.bz(...)

    Le mail de Junio :

    http://lkml.org/lkml/2005/12/21/257
  • # Interface web

    Posté par (page perso) . Évalué à 6.

    Pour voir une partie de Git (et gitweb) en action, il suffit d'aller là et d'explorer :

    http://www.kernel.org/git/

    En particulier, l'historique de Git est là :

    http://www.kernel.org/git/?p=git/git.git;a=summary

    Les liens commitdiff affichent le diff entre le commit correspondant et son prédécesseur, les liens tree donnent accès à l'état du projet tel qu'il était au moment du commit.
  • # remarque

    Posté par (page perso) . Évalué à 7.

    Je trouve cette news assez étrange. Pourquoi dans cette news Git est-il en gras ? C'est la première news dans lequel je vois ça et c'est très désagréable de lire ce genre de news avec des mots en gras.

    L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire

  • # Utilisation de git par les developpeurs du noyau

    Posté par (page perso) . Évalué à 3.

    J'aimerai bien savoir comment git est utilisé par Linus et les autres developpeurs du noyau. J'ai déjà entre-apperçu les differentes commandes de git dans la doc, mais je trouverai cela plus parlant d'avoir un exemple concret.

    D'apres ce que j'ai compris Linus choisit certains patches de la branche d'Andrew, mais avec quelles commandes git ? Ensuite, une fois une nouvelle release faite par Linus, avec quelle(s) commande(s) Andrew (et les autres développeurs) se remettent ils a jour par rapport a Linus ?
    • [^] # Re: Utilisation de git par les developpeurs du noyau

      Posté par (page perso) . Évalué à 5.

      Linus envoie de temps en temps des mails à ce propos sur la mailing-list de Git, quand il utilise une p'tite commande de une ligne et qu'il se dit "quand même, ça déchire grave, ça". C'est assez rare, mais intéressant.

      D'autres personnes ont posé ta question, et il y a eu des réponses intéressantes. Malheureusement, ça se perd un peu dans le flot des discussions de développement et des patches. :-(

      Sinon, il y a un guide pour les développeurs du noyau, mais il date un peu :
      http://linux.yyz.us/git-howto.html

      Par ailleurs, un anonyme s'est fait sa propre version de la doc, un genre de "Git pour les nuls" ou plutôt "Git pour les gens normaux". Il y a eu pas mal de remarques et de corrections ensuite, mais ça reste un excellent point de départ :
      http://www.gelato.unsw.edu.au/archives/git/0512/13748.html

      Et sinon, de mémoire, parmi les commandes sympa qui exploitent la puissance de Git :

      * git grep, qui permet de faire des recherches dans les sources, sur une période donnée, dans une branche donnée, dans un sous-répertoire donnée, etc.

      * git bisect, qui permet de rechercher les bugs par dichotomie

      * et plein d'autres exemples que j'oublie
    • [^] # Re: Utilisation de git par les developpeurs du noyau

      Posté par (page perso) . Évalué à 8.

      D'apres ce que j'ai compris Linus choisit certains patches de la branche d'Andrew, mais avec quelles commandes git ? Ensuite, une fois une nouvelle release faite par Linus, avec quelle(s) commande(s) Andrew (et les autres développeurs) se remettent ils a jour par rapport a Linus ?

      Disclaimer: Ce qui suit est basé sur mes modestes observations des échanges sur la liste du noyau. Ça peut être incomplet, voire totalement faux. N'hésitez pas à corriger ou compléter.

      En fait, je ne crois pas que Linus prenne des patches dans la branche d'Andrew. Andrew gère sa branche -mm avec Quilt, adapté pour la gestion de piles de patches. Cette version -mm permet d'exposer à un nombre relativement important de personnes des changements majeurs, des nouvelles fonctionnalités (ReiserFS, par exemple), etc. Quand les développeurs du noyau, dont Andrew, considère que tel ou tel patch dans -mm est prêt pour l'inclusion dans la branche principale, alors le patch est envoyé à Linus.

      Sinon, Linus peut également "tirer" des modifications depuis d'autres arbres Git, c'est-à-dire d'autres branches du noyau. Par exemple, Jeff Garzik envoie régulièrement des mails du style : « Linus, please pull from ... », pour demander à Linus de tirer les modifs qu'il a sur sa branche dans la branche principale. (Dans http://www.kernel.org/git/ tu as une liste de ces branches. Un exemple de tirage depuis un arbre Git est http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux(...) ).

      Sinon, la branche -mm de Andrew est mise à jour à chaque sortie d'une nouvelle version -rc du noyau Linux. Il prend donc la dernière version -rc et essaie d'appliquer avec Quilt tous les patches de sa branche. Certains patches doivent toujours s'appliquer, d'autres doivent coincer. Si ça coince, soit la modif est triviale et Andrew la fait directement, soit c'est le bazar, et je suppose qu'il dit à l'auteur originel du patch de mettre à jour son truc.

      Pour un tutoriel sur Cogito, tu peux lire par exemple: http://wellington.pm.org/archive/200510/git/

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.