hg n'a pas directement le format-patch
de Git, qui est très pratique non seulement pour envoyer des patches par mail (où hg a l'extension Patchbomb), mais aussi pour simplement exporter vers un fichier par exemple pour attacher à un rapport de bug.
hg a export
qui fait le boulot, mais qui n'écrit pas automatiquement dans un fichier. Pour ce faire, il faut utiliser -o
(--output
), et écrire un nom de fichier à la main. Heureusement on peut utiliser des des formats automatisés comme %n
et %m
. Pour une sortie similaire à format-patch
on utilisera -o '%n-%m.patch'
.
Comme tout ça est bien verbeux, je suggère un alias (http://www.selenic.com/mercurial/hgrc.5.html#alias) :
[alias]
format-patch = export -v -o '%n-%m.patch'
[defaults]
dans l'hgrc
permet de configurer les options par défaut des différentes commandes, comme par exemple -vf
pour log
.
Les branches sous Git sont réputées pour êtres différentes de celles des autres systèmes, et c'est vrai. La fonctionnalité de hg la plus proche de celle des branches Git sont les bookmarks
.
Pas évident de prime abord, mais ça marche plutôt bien (au moins pour un utilisateur occasionnel venant de Git).
Le comportement par défaut du log
de hg est proprement exaspérant pour un utilisateur de Git : la révision par défaut étant tip:0
(qui n'est pas nécessairement l'état courant).
Pour avoir le log de l'état courant du dépôt, comme le fait Git par défaut : -f
(--folow
). On ajoutera -v
pour avoir des messages complets.
Pour inclure les différences on utilisera p
, comme avec Git (peut-être en combinaison avec -g
pour avoir le format étendu de Git, même s'il ne change rien pour les diffs les plus courants).
Un autre must-have, le pendant du color
de Git, et fonctionne à peu près pareil.
Must-have, particulièrement pour tout utilisateur de Git qui a l'habitude d'un comportement pratique par défaut. Comme son nom l'indique, cette extension permet d'utiliser un pager automatiquement sur la sortie de la plupart des commandes, comme par exemple log
ou export
.
Les options suggérées pour less sont très bonnes, et fonctionnent comme Git :
F : quitter less automatiquement si la sortie tient sur l'écran
R : garder les séquences d'échappement pour la coloration (utile en particulier avec l'extension color)
X : ne pas vider la vue à la sortie, indispensable quand on utilise F