Je me suis amusé avec hg / mercurial dernièrement, notamment avec Fogcreek’s Kiln, et j’essaie de comprendre quelles sont les extensions indispensables. C’est un peu délicat de passer au crible leur liste d’extensions car je ne suis pas intéressé par le test d’extensions buggées ou peu pratiques, même si leur description est géniale.
Alors, quelles extensions de hg utilisez-vous?
Voir Utilisation des extensions
Ma propre liste de succès:
Les simples que vous devez avoir:
color
: colorise la sortie des commandes comme diff
et status
, ce qui facilite son évaluation. pager
: parcourir une longue page à la fois. fetch
: tirer, mettre à jour et fusionner à partir d’un autre repository en une seule étape. graphlog
: affiche les graphiques de révision dans votre shell, ce qui est très utile pour regarder les twigs de votre historique des logs. hgk
: parcourez le référentiel avec une interface graphique (voir aussi TortoiseHg et Murky) Si vous activez le pager
, vous devez le configurer pour ne pas interférer avec certaines commandes:
[pager] pager = LESS='FSRX' less ignore = version, help, update, serve, record
Les extensions intermédiaires que je recommande fortement (et à utiliser fréquemment):
record
: vous permet de sélectionner de manière interactive les fichiers de fichiers à valider – ce qui convient parfaitement lorsque vous êtes au milieu d’un ensemble de modifications et que vous finissez par corriger quelque chose qui doit avoir son propre commit. extdiff
: configure un outil de diff externe (tel que Meld) share
: plusieurs clones utilisent-ils le même historique de repository Les extensions avancées que je ne serais pas sans:
mq
: gérer une stack de patchs. Très puissant, permet de superposer des patchs sur le dessus de l’arbre. notify
: envoie des notifications par email lorsqu’un repo est modifié. rebase
: réapplique les modifications locales en plus d’une nouvelle révision parent. Tous les éléments ci-dessus sont fournis avec Mercurial et sont stables et testés. Je les recommande fortement.
Extensions non essentielles à étudier:
shelve
: mettez de côté les modifications de manière sélective (à la granularité des pièces) et restaurez-les. acl
: autoriser sélectivement l’access à différentes parties de l’arborescence du référentiel Extensions remplacées et migrées vers le kernel (info de @ durin42):
forest
a été remplacée par le support de subrepo
introduit dans la v1.3 bookmarks
sont au cœur et toujours activés transplant
est remplacée par la graft
, une commande de base histedit
est au cœur de v2.3, mais est désactivé par défaut inotify
n’est pas recommandé, car il y a apparemment un bug dû à une condition de course graphlog
et mq
sont particulièrement savoureux.
hg rebase
peut avoir un certain chevauchement. git
utilisateurs de git
aiment rebaser. Peut remplacer mq
pour de nombreux cas d’utilisation. git
. Pas encore mentionné: mercurial_keyring
https://www.mercurial-scm.org/wiki/KeyringExtension
“L’extension keyring utilise les services de la bibliothèque de trousseaux de clés pour enregistrer en toute sécurité les mots de passe d’authentification (HTTP / HTTPS et SMTP) à l’aide d’une firebase database de mots de passe spécifique
J’utilise ssh pour accéder à mes repos sur GitHub et Bitbucket, et ma phrase clé est conservée dans le trousseau. Cette extension permet à Mercurial de l’obtenir chaque fois que nécessaire.
Aussi requirejs pour moi: hg-git
Le plug-in Mercurial vous permettant d’extraire et de pousser les git repos en utilisant hg en tant que client. Utilisez tout le temps.
Si vous travaillez avec un hôte lent comme Bitbucket, les progrès sont essentiels. Sinon, hg push
semble être suspendu: \
Ma liste:
graphlog. Je l’utilise beaucoup plus que le journal de hg. (souhaite que cela puisse limiter aux twigs)
purge. supprimer tous les fichiers ne figurant pas dans Mercurial. Je l’utilise plutôt que comme une version plus propre de make clean.
Moins utilisé, mais sympa:
Je continue d’essayer d’utiliser les outils de modification de l’historique, mais je continue à rencontrer des limitations. Je veux qu’ils travaillent.
Au fait, méfiez-vous: hgk et fetch sont “mal aimé”: https://www.mercurial-scm.org/wiki/UnlovedFeatures . Mais alors, SubRepos est, non aimé, mais une fonctionnalité de dernier recours, et j’utilise subrepos.