web-dev-qa-db-fra.com

Quelles sont les meilleures et les extensions HG / Mercurielles?

J'ai bavé avec Hg/Mercurial ces derniers temps, à savoir conjointement avec le four de Fogcreek et j'essaie de comprendre quelles sont les extensions indispensables. C'est un peu de tamisement délicat à travers leur liste d'extension parce que je ne suis pas intéressé à tester de buggy ou d'extensions irréalistes, même si leur description semble géniale.

Alors, quelles extensions HG utilisez-vous?

Voir tilisation des extensions

73
JJ Rohrer

Ma propre liste de résultats:

Les simples que vous devez avoir:

  1. color: Coloriser la sortie des commandes telles que diff et status, ce qui facilite l'évaluation.
  2. pager: parcourir une sortie longue une page à la fois.
  3. fetch: tirer, mettre à jour et fusion d'un autre repo en une étape.
  4. graphlog: afficher des graphiques de révision dans votre coquille, incroyablement utile pour regarder les branches de votre historique de journal.
  5. hgk: parcourez le référentiel avec une interface graphique (voir aussi Tortoisehg et Murky)

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

Les extensions intermédiaires Je recommande vivement (et utilisez fréquemment):

  1. record: vous permet de sélectionner de manière interactive les mecs de fichiers à s'engager - parfaits lorsque vous êtes au milieu d'un ensemble de changements, et vous finissez par résoudre quelque chose qui devrait avoir son propre commit.
  2. extdiff: configure un outil de diff externe (telle que MELD)
  3. share: avoir plusieurs clones utilisent la même historique de repo

Les extensions avancées que je ne serais pas sans:

  1. mq: gérer une pile de patchs. Très puissant, permet une superposition de patchs sur le dessus de l'arbre.
  2. notify: envoyer des notifications par courrier électronique lors de la modification d'un repo.
  3. rebase: réappliquer des changements locaux sur une nouvelle révision des parents.
  4. largefiles: Travaillez avec de grands fichiers binaires en dehors du magasin HG

Tout ce qui précède sont baignés de mercuriat et sont stables et bien testés. Je les recommande fortement tous.

Des extensions non essentielles avaient intérêt à enquêter:

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

Extensions remplacées et migré vers le noyau (informations de @ Durin42):

  • forest a été remplacé par le support subrepo Introduit dans V1.3
  • bookmarks est en noyau et toujours activé
  • transplant est remplacé par graft, une commande de base
  • histedit est dans le noyau à partir de v2.3, mais est désactivé par défaut
  • inotify n'est pas recommandé, car il existe apparemment un bogue en raison d'une condition de course
98
gavinb

graphlog et mq sont particulièrement savoureux.

  1. Convertir: convertir et depuis d'autres systèmes
  2. MQ (files d'attente mercuriales): traiter avec des changements comme une pile de patchs
  3. Forêt: vous permet de vous engager et de mettre à jour de nombreux référentiels mercuriels imbriqués à la fois
  4. Partager: Pour gagner du temps et de l'espace disque lorsque vous travaillez avec des référentiels similaires
  5. HGK: donne une vue graphique de l'histoire
  6. GRAPHLOG: Je tape toujours "HG Glog" pas "HG Log". Une vue d'art ascii de l'histoire
  7. Transplant: utile lorsque vous souhaitez uniquement fusionner quelques changements d'une autre branche. Le plus récent hg rebase peut avoir des chevauchements.
  8. Rebase: Un moyen différent de traiter les changements en tant que jeu de modifications au-dessus d'une succursale. git utilisateurs aiment rebaser. Peut remplacer mq pour de nombreux cas d'utilisation.
  9. SLIVE: un endroit pour cacher les modifications de la copie de travail si vous devez travailler sur autre chose pendant un moment.
  10. Signets: Nommez le plus récent commit sur une branche particulière. Semblable à git branches.
9
joeforker

Si vous travaillez avec un hôte lime comme Bitbucket, progrès est essentiel. Autrement hg Push on dirait qu'il est accroché: \

7
Rob Agar

Ma liste:

  1. graphog. Je l'utilise beaucoup plus que HG Journal. (Souhaite qu'il puisse limiter les branches)

  2. purge. Supprimer tous les fichiers non dans Mercurial. J'utilise ceci au lieu de ou comme une version plus propre de faire propre.

Moins utilisé, mais gentil:

  • les enfants (vous disent "HG Enfants -R XXX")
  • parentevSpec: vous permet de dire des choses comme "foo ~ 2 = foo ^ 1 ^ 1 = foo ^^ = premier parent du premier parent de FOO"

J'essaie d'essayer d'utiliser les outils d'édition d'historique, mais continuez à courir dans des limites. I Vous voulez eux pour travailler.

  • effondrer
  • honte
  • Je considère que la Rebas a une histoire d'histoire de Tol aussi

A l'aide, méfiez-vous: HGK et FETCH sont "déverus": https://www.mercurial-scm.org/wiki/unlovedfeatures . Mais ensuite, les sous-rehaussons ne sont pas mal aimés, mais une caractéristique du dernier recours, et j'utilise des sous-rehaussons.

1
Krazy Glew