74 votes

Quels sont le meilleur et must-have hg / mercurial extensions ?

J'ai été barboteurs avec hg / mercurial ces derniers temps, à savoir en conjonction avec Fogcreek du Four, et j'essaie de comprendre ce que sont les doit-avoir les extensions sont. Son un peu difficile passer au crible de leur extension de la liste parce que je ne suis pas intéressé à tester tous les buggy ou peu pratique extensions, même si leur description a l'air génial.

Donc, ce qui hg extensions utilisez-vous?

[Update] Pour être complet, la popularité de chaque extension est répertorié Sur l'extension de la liste de résultats page

99voto

gavinb Points 9237

Ma propre liste de résultats:

Les plus simples, vous devez avoir:

  1. color: la colorisation de sortie à partir des commandes comme diff et status, ce qui le rend plus facile à évaluer.
  2. pager: parcourir de long en sortie une page à la fois.
  3. fetch: pull, mise à jour et de fusion à partir d'un autre repo en une seule étape.
  4. graphlog: affichage de la révision des graphiques dans votre shell, incroyablement utile pour regarder les branches dans votre journal de l'histoire.
  5. hgk: parcourir le dépôt avec une interface graphique (voir aussi TortoiseHg et Glauque)

Si vous activez pager, vous devez le configurer pour ne pas interférer avec certaines commandes:

[pager]
pager = LESS='FSRX' less
ignore = version, help, update, serve, record

L'intermédiaire des extensions je recommande fortement (et fréquemment):

  1. record: vous permet de sélectionner de manière interactive les beaux mecs de fichiers à valider - parfait pour quand vous êtes au milieu d'une série de changements, et, en fin de réparer quelque chose qui devrait avoir sa propre validation.
  2. extdiff: configurer un externe outil de comparaison (comme meld)
  3. share: ont de multiples clones utiliser les mêmes pensions de l'histoire

L'Avancée des extensions, je ne serais pas sans:

  1. mq: gérer une pile de pièces. Très puissant, permet la superposition des taches sur le dessus de l'arbre.
  2. notify: envoyer des notifications par courrier électronique lorsqu'une pension est modifié.
  3. rebase: réappliquer modifications locales sur le haut d'une nouvelle révision parent.
  4. largefiles: travail avec de gros fichiers binaires à l'extérieur de l'hg magasin

Tous les ci-dessus sont fournis avec Mercurial, et sont stables et bien testé. Je recommande fortement à tous.

Non-core extensions mérite d'être étudié:

  1. shelve: sélectivement mis de côté les changements (au niveau de la granularité des mecs) et de les restaurer.
  2. acl: autorise l'accès aux différentes parties de l'arborescence du référentiel

Remplacé extensions et ont émigré de base (info de @durin42):

  • forest a été remplacé par l' subrepo introduit dans v1.3
  • bookmarks est dans le noyau et toujours activée
  • transplant est remplacé par graft, un noyau de commande
  • histedit est au cœur de la v2.3, mais il est désactivé par défaut
  • inotify n'est pas recommandé, car il y a apparemment un bug dû à une condition de course

9voto

joeforker Points 14483

graphlog et mq sont particulièrement savoureuses.

  1. Convertir: convertir vers et à partir d'autres systèmes
  2. Mq (Mercurial Files d'attente): composer avec les changements comme une pile de patchs
  3. Forêt: vous permet de valider et mettre à jour de nombreux imbriquée Mercurial référentiels à la fois
  4. Partager: pour gagner du temps et de l'espace disque lorsque vous travaillez avec des dépôts
  5. Hgk: donne une vue graphique de l'histoire
  6. Graphlog: j'ai toujours de type hg glog " pas "de hg log'. Ascii art vision de l'histoire
  7. Transplantation: Utile lorsque vous ne souhaitez fusionner quelques révisions d'une autre branche. La plus récente, hg rebase peut avoir un certain chevauchement.
  8. Rebase: Une autre façon de composer avec les changements comme un ensemble de révisions sur le haut d'une branche. git des utilisateurs comme pour rebase. Peut remplacer mq pour de nombreux cas d'utilisation.
  9. Étagère: Un endroit pour ranger travail de la copie des modifications si vous avez à travailler sur quelque chose d'autre pendant un certain temps.
  10. Signets: Nom de la plus récente s'engager sur une branche particulière. Semblable à l' git branches.

9voto

Bill Garrison Points 1640

Pas encore mentionné: mercurial_keyring

http://mercurial.selenic.com/wiki/KeyringExtension

"Porte-clés extension utilise les services du porte-clés de la bibliothèque pour enregistrer en toute sécurité de l'authentification des mots de passe (HTTP/HTTPS et SMTP) à l'aide de système de mot de passe spécifique à la base de données (le Trousseau de Gnome, KDE KWallet, OSXKeyChain, des solutions dédiées pour Win32 et ligne de commande)."

J'utilise ssh pour accéder à mon repos sur GitHub et Bitbucket, et mon mot de passe est tenue dans le trousseau d'accès. Cette extension permet Mercurial obtenir chaque fois que nécessaire.

Également nécessaire pour moi: hg-git

http://hg-git.github.com/

Mercurial plugin vous permettant de tirer et pousser git repos à l'aide de hg en tant que client. L'utiliser tout le temps.

7voto

Rob Agar Points 5793

Si vous travaillez avec un hôte slowish comme Bitbucket, le progrès est indispensable. Sinon `` on dirait que c’est bloqué : \

1voto

Krazy Glew Points 2142

Ma liste:

  1. graphlog. Je l'utilise beaucoup plus que hg log. (le souhaitez, ce qui pourrait limiter à des branches)

  2. la purge. supprimer tous les fichiers qui ne sont pas dans la Mercurial. J'ai utiliser ce lieu de ou comme une version plus propre de faire propre.

De moins en moins utilisées, mais agréable:

  • les enfants (permet de dire "hg enfants -r XXX")
  • parentrevspec: permet de dire des trucs comme "foo~2 = foo^1^1 = foo^^ = premier parent du premier parent de foo"

J'essaie d'utiliser l'histoire des outils d'édition, mais continuer à courir dans les limites. Je veux travailler.

  • l'effondrement
  • histedit
  • Je considère rebase une histoire de l'édition tol ainsi

Par la voie, méfiez-vous: hgk et d'extraction sont "mal-aimé": http://mercurial.selenic.com/wiki/UnlovedFeatures. Mais alors, SubRepos sont, pas mal, mais une caractéristique de dernier recours, et je l'utilise subrepos.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X