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?
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.
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
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).
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
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
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.
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$
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
orig d
pour supprimer tous les fichiers rejetés et orig à la fois sans confirmationorig
pour supprimer les fichiers avec confirmation [Mécanisme de sécurité]J'espère que cela vous sera utile.