François Pinard's site |
||
Git subjective comparisonJim Meyering got me started on Git with his comparison over Mercurial. I also liked an oldish overall comparison with competitors. Here are other own subjective opinions on the matter.
Tu as probablement déjà utilisé RCS ou SCCS, qui s'occupent de conserver l'histoire d'un seul fichier à la fois. CVS étend la notion de RCS à une collection de fichiers, et quoiqu'il soit encore très populaire, pour avoir vécu très longtemps, j'ai toujours trouvé ennuyeux de configurer et entretenir ses reposoirs, en plus de souffrir le manque de collaboration et l'attitude hautaine de ceux qui entretiennent CVS lui-même — les gens ont changé depuis, mais j'ai la mémoire longue ☺. Subversion (SVN), que j'ai d'ailleurs introduit chez un client il y a quelques années, est une implantation de CVS repensée, beaucoup plus propre et homogène, plus solide aussi (mais seulement une fois bsddb remplacé par fsfs — un système de fichiers dans le système de fichiers). Par contre, très fondamentalement, SVN n'apporte pas de gros concept nouveau par rapport à CVS, certaines lourdeurs s'y retrouvent inchangées. La révolution commence ensuite, et je me rends compte que je l'ai suivie un peu, quand même, malgré tout, même si je ne connaissais pas Git… Avant de choisir SVN pour mon client, j'avais regardé les alternatives, autour. J'ai essayé Arch (ou tla), mais je suis vite enfui, horrifié, complètement terrorisé. Pourtant, plusieurs semblent s'en contenter: il doit y avoir un masochisme informatique! J'ai étudié Monotone, que m'a suggéré le responsable de GNU libc, qui ne jurait que par lui. Tout en comprenant qu'il était adéquat pour un projet de portée planétaire, il m'est apparu complexe et surabondant pour les besoins de mon client qui est, dans le fond, une très petite planète ☺. On parlait un petit peu de Bazaar, qui était encore trop instable pour être sérieusement considéré. J'ai regardé PRCS, très élégant, très pur, mais trop loin de la vraie vie pour être utilisé par des non-idéalistes; il n'est même pas listé à l'URL que je t'ai fourni plus haut. J'ai regardé DARCS aussi, mais l'installation de Haskell a été un cauchemard (à cause d'un bootstrapping difficile, compliqué) que je n'imposerais ni aux autres ni à moi-même. Mercurial (ou hg) m'a semblé au moins intéressant par le fait que c'est un système de facture moderne, essentiellement écrit en Python. On considère de nos jours que c'est l'un des meilleurs, et il est utilisé par un confrère montréalais avec lequel je collabore à l'occasion. Mais finalement, je suis en train de me concentrer sur Git, très comparable à Mercurial, mais fulgurant de vitesse, dont la maturité est reconnue, et dont le développement est très actif. On dit qu'un port Windows est imminent, ainsi qu'une implantation alternative entièrement en Java. Git possède environ 150 commandes, mais une dizaine devrait suffire pour les opérations habituelles, l'usage me semble facile, en pratique. J'ai une demi-douzaine d'interfaces graphiques pour Git ici, et les deux que j'ai regardés me semblent bien faits, et utiles (et très rapides). Mais l'apprentissage plus complet des 150 commandes sera plutôt exigeant…
Surely, I did use CVS a few times, from a long time ago, and hated it for a lot of reasons. Subversion is much cleaner and bearable, yet the mentality did not evolve much beyond CVS concepts. PRCS was kind of clean, but too toyish to be taken seriously, and it just disappeared. Bazaar was part of the wave trying to break out of these patterns. Some say that Arch has been a turning point, yet I once tried to look at Arch and soon ran away, screaming, completely terrorized☺. DARCS has many good ideas, but installation is nightmarish. And a few others. It seems that nowadays, Mercurial and Git are the best ones — something which Bazaar at least recognises, as it lists these two as being the main competition. |
||