44 votes

mercurial push automatique sur chaque commit

Être très familier avec la subversion de flux de travail et le fait que 99,9% du temps, mon ordinateur est connecté à internet, je n'aime pas faire "hg ci" et "hg push' séparément.

Je me souviens de bzr avait une "commande" commande qui permette de lier ultérieures 'commit' commandes automatiquement s'engager directement sur le serveur ("push").

Mercurial avoir quelque chose de similaire à cela?

PS: l'Écriture d'un script shell ou un alias qui s'exécute hg ci $* && hg push " serait la dernière chose que je ferais.

56voto

Steve Losh Points 11958

Vous pouvez ajouter un crochet à exécuter pousser après une livraison réussie.

EDIT: j'ai juste essayé et il semble bien fonctionner. J'ai ajouté ce qui suit à l' .hg/hgrc le fichier de référentiel, je voulais activer automatique de la pression pour:

[hooks]
commit.autopush = hg push

EDIT 2: en outre, vous n'avez pas à vous inquiéter au sujet de quelque chose comme ceci:

  • Vous êtes dans un référentiel que vous n'avez pas envie de pousser automatiquement.
  • Vous utilisez hg -R ~/another-repo-that-autopushes commit pour s'engager dans un autre repo qui ne pousser automatiquement.
  • Sera l' hg push crochet finissent par pousser les changements dans le répertoire courant au lieu de celui que vous avez commis dans?

Non, il ne sera pas. Selon la page:

Un exécutable crochet est toujours avec son répertoire actuel de définir un référentiel du répertoire racine.

C'est un cas limite, mais Mercurial gère correctement.

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