web-dev-qa-db-fra.com

Générer des correctifs dans Mercurial

J'ai cherché ça dans le manuel, mais je ne peux pas générer de patch pour le dernier commit .

hg qnew patch_name

mais il ne fait que déposer avec

# HG changeset patch
# Parent a6a8e225d16ff5970a8926ee8d24272a1c099f9c

J'ai aussi essayé

hg export tip

mais ça ne fait rien. J'ai commis les changements exactement. 

Comment générer un fichier de patch avec le dernier commit en?

39
deem

La commande pour faire ceci est export:

$ hg export -o FILE -r REV

Il ne nécessite pas de redirection et fonctionnera donc correctement sur n’importe quelle plate-forme/Shell.

56
Idan K

Votre hg export tip est le meilleur moyen de le faire, et les réponses basées sur hg diff et hg log ne sont que des versions plus petites de la même chose. Que voyez-vous/obtenez-vous exactement lorsque vous tapez hg export tip? Que montre la sortie de hg log -p -r tip?

Le changeset tip signifie simplement «le changeset qui est arrivé le plus récemment dans mon référentiel», ce qui n’est pas un concept aussi utile que vous le pensez, puisque hg pull et hg tag créent tous aussi des changesets. Si vous voulez vraiment la dernière chose que vous avez commise, vous aurez besoin d'une revspec plus précise.

22
Ry4an Brase

Ainsi:

hg diff -r tip > tip.patch
15
Matt Joiner

Vous pouvez utiliser cette commande:

hg log -r tip -p > tip.patch

cela générera un patch pour cette révision seulement.

5
Trenton Schulz

Si vous voulez convertir le dernier commit en un fichier de correctif, utilisez 

hg qimport -r tip

Cela remplacera la validation la plus régulière par un fichier de correctif MQ appliqué.

1
daniel kullmann

Pour générer des correctifs à l'aide des "extensions mq" dans Mercurial, vous pouvez suivre les étapes indiquées ci-dessous. Cela créera un patch utilisant Mercurial: 

1) Activer les extensions mq: Ajoutez les lignes suivantes à votre fichier hgrc et enregistrez-le.

[extensions]
mq =

2) Création d’un patch utilisant des extensions mq: Pour créer un patch utilisant des extensions mq, procédez comme suit.

hg qnew -e -m "comment you want to enter" bug_name.patch

Dans la commande ci-dessus,-eflag sert à modifier le correctif et-mflag sert à ajouter un message au correctif.

3) Mise à jour du patch: Pour mettre à jour le patch, vous pouvez utiliser la commande suivante lorsqu'un patch est déjà appliqué.

hg qrefresh
0
Anup Allamsetty