• [^] # Re: Git powaaa !

    Posté par . En réponse à la dépêche GNOME 2.26 est disponible. Évalué à 5.

    C'est certes l'interface la plus absconse (pas tant que ça une fois qu'on a découvert les commandes interactives) mais c'est le plus complet des DVCS (je crois)

    Avec BZR, une branche égale un clone de dépot. Si tu maintiens plusieurs branches de développement, ça peut devenir assez vite l'enfer. Git peut être utilisé de cette manière mais permet aussi de maintenir plusieurs branches dans un dépot.
    (j'ai beaucoup utilisé BZR et pour des projets sans besoin de plein de branches de dev, c'est le pied, c'est rapide, mais pour des gros projets comme Gnome, ça risquerait de poser plus de problèmes qu'autre chose)
    Git permet aussi de commiter les diffs en choisissant les hunks inclus dans le commit, comme Darcs permet de le faire (c'est la commande git add -p, interactive, qui liste les hunks et permet de les inclure à son gré)
    Ensuite, et c'est sans doute là que se trouve la vraie killer feature de Git, c'est la possibilité d'amender, spliter, merger des commits, en ce qu'on veut. Vous avez commité un truc trop gros et on vous demande d'être plus fin, à la fois dans l'évolution et dans les explications ? pas de souci. Vous avez 150 commits dans une branche de développement dédiée à la création d'une fonctionnalité mais vous ne voulez pas pourrir l'historique avec tout ça et n'avoir qu'une seule révision pour la fusion de votre branche dans le trunk ? pas de souci, git sait faire et sans que vous ayez l'impression que ce soit une usine à gaz.

    Ce que je vois surtout, c'est que Git garde la réputation d'être trop bric-à-brac, usine à gaz parce qu'on croit que ça reste le bébé de Linus. Mais ça a beaucoup changé, et sincèrement, après quelques jours passés à l'utiliser exclusivement avec les commandes interactives, je ne pourrais plus m'en passer d'une part, et d'autre part, je trouve les interfaces de Darcs,Hg ou Bzr ni plus, ni moins absconses (en ligne de commande). D'ailleurs les commandes interactives ont un niveau de souplesses jamais vu auparavant (il comprend les expressions temporelles en langage humain par exemple).

    Après, j'apprécie tout autant les 3 autres DVCS libres de part l'élégance que chacun possède dans son implémentation (BZR, la souplesse de dev de Python, la théorie mathématique des DVCS matérialisée dans Darcs, et Hg "who just works with never ever any glitch")

    Juste faut arrêter de croire que le développement de Git s'est arrêté à Linus, c'est maintenant ni plus ni moins abscons que BZR (qui ne possède pas la même interactivité).

    Moi, ce que j'attends surtout, c'est une intégration à la fois sans heurts et efficace de tout ce joli monde dans Nautilus, Dolphin et les autres gestionnaires de fichiers. Et là, les allergiques de la ligne de commande pourront goûter au plaisir du DVCS.

    Oh et kudos pour Gnome 2.26 :)