Introduction

Quel est le meilleur gestionnaire de version : git ou mercurial ?

git

mercurial

commentaire

concepts soujacents simples

concepts soujacents nombreux

surtout en introduisant de nouveaux concepts avec mq (mercurial queues)

toutes les commandes font un less implicite si nécessaire

pas de less implicite, surtout dans le cas des logs ou d'un diff - un peu chiant

Mais, mercurial introduit une extension appelée ???

tout est dedans d'origine (ou presque)

beaucoup d'extensions qu'il faut ajouter au fur et à mesure

un peu chiant certaines fois de devoir ajouter des choses pratiques (pour mercurial) : less, mq, couleur, etc.

status bien plus lisible et aidant

hg status n'est pas très utile, je trouve

 

couleurs aisément ajoutables

il faut ajouter une extension pour en avoir

pas une grande différence, finalement

outils statistiques ?

existance d'outils statistiques dans des extentions

 

gestion des tags dans des objets propres, internes à git

gestion des tags dans un fichier à part, versionné lui-même

Je n'aime pas l'approche de mercurial sur le sujet des tags qui introduisent, quand on les utilise, des commits supplémentaires qui me semblent un peu artificiels. Des problèmes surtout quand on revient en arrière.

Bref, il y a des choses bien des deux côtés mais je trouve que les outils sont plus abondants, d'emblée, dans git. Le modèle très simple du fonctionnement interne de git rend la manipulation des dépôts performante avec peu de complexité même si les concepts peuvent être peu familiers. J'ai l'impression que pour faire la même chose, mercurial a besoin d'introduire de nouveaux concepts (comme les mercurial queues) qui introduisent de nouvelles commandes.

Pour autant, les numéros de version plutôt que les hashs, c'est bien pratique et il y a un certain confort, une sorte d'élévation dans les commandes mercurial que l'on ne retrouve pas dans git. Git, c'est plus les mains dans l'cambouis.

Liens

Bonnes pratiques d'utilisation de ces logiciels

Git

Guides et tutoriaux