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?
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.
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.
Ainsi:
hg diff -r tip > tip.patch
Vous pouvez utiliser cette commande:
hg log -r tip -p > tip.patch
cela générera un patch pour cette révision seulement.
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é.
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