web-dev-qa-db-fra.com

Utilisation de hg revert dans Mercurial

J'utilise Mercurial. J'ai fait un clone d'un référentiel. Pour le débogage, j'ai changé quelques lignes de code dans un fichier Java. Je n'ai cependant pas validé ces modifications. Je veux juste les ramener à leur état d'origine, comme dans le référentiel. J'ai essayé hg revert filename.Java, qui l'a inversé, mais maintenant quand je le fais hg status, Je vois maintenant des fichiers supplémentaires ajoutés dans mon dossier comme:

? filename.Java.orig

Puis-je simplement supprimer ces fichiers et pourquoi Mercurial les crée-t-il lorsque j'utilise Revert?

62
user246114

Oui, vous pouvez les supprimer. C'est une fonction de sécurité au cas où vous reviendriez sur quelque chose que vous ne vouliez pas revenir.

48
Hank Gay

Vous pouvez également utiliser l'indicateur --no-backup et les fichiers .orig ne seront pas créés

hg revert --no-backup filename.Java

Depuis Mercurial 2.0, vous pouvez à la place utiliser l'indicateur -C pour supprimer la création des fichiers .orig

hg revert -C filename.Java
87
Fooman

Je trouve le extension de purge pratique. Usage:

hg purge

"Cette extension purge tous les fichiers et répertoires non suivis par Mercurial" - y compris les fichiers .orig mais excluant les fichiers ignorés (sauf si vous utilisez --all).

23
Jonah Braun

Comme d'autres l'ont souligné, vous pouvez supprimer ces fichiers en toute sécurité.

Vous pouvez les supprimer en exécutant cette commande depuis la racine de votre dépôt:

rm `hg st -un | grep orig`

Si vous souhaitez revenir en arrière et ne vous souciez pas du tout de sauvegarder les fichiers d'origine, la commande que vous souhaitez est:

hg update -C
8
Ted Naleid

Ce sont des copies des fichiers d'avant que vous ne les rétablissiez. Si vous n'en avez pas besoin, vous pouvez les supprimer à la main ou en utilisant l'extension Purger :

hg clean
6
Peter Westlake

Ces fichiers de sauvegarde peuvent être créés pour des opérations de fusion et de restauration (cf. page de manuel ). Vous pouvez ajouter une règle d'ignorance si vous le souhaitez, ou simplement les supprimer si vous n'en avez plus besoin.

5
AndiDog

Ce sont assez communs, résultant de diverses opérations. Un coup d'œil à l'un des référentiels de taille moyenne sur lesquels je travaille en trouve 237. Je n'aime pas supprimer les choses qui pourraient s'avérer utiles, et je n'ai aucune raison de nommer des fichiers légitimes avec le même suffixe, j'ajoute donc ce qui suit à .hgignore:

.\.orig$
0
Derek Slager

J'ai fait ce fichier batch moi-même.

IF "%1%" == "d" (
    del /s *.orig
    del /s *.rej
 ) ELSE ( 
    del /s /p *.rej
    del /s /p *.orig
 )

Aide: enregistrez ce contenu sous orig.bat

  1. Courir orig d pour supprimer tous les fichiers rejetés et orig à la fois sans confirmation
  2. Exécutez orig pour supprimer les fichiers avec confirmation [Mécanisme de sécurité]

J'espère que cela vous sera utile.

0
mahe madhi