53 votes

Mercurial: Comment ignorer les modifications apportées à un fichier suivi

J'ai un fichier avec les paramètres de base de données dans mon projet que j'ai pour certains paramètres par défaut. Le fichier est suivi par Mercurial et contrôlé. Depuis ce fichier sera édité avec les différentes valeurs différentes développeur de machines, est-il possible que je peux dire Mercurial ignorer les nouvelles modifications apportées à ce fichier?

J'ai essayé d'ajouter le fichier à l' .hgignore le fichier, mais le fichier est suivi, il n'est pas ignoré. C'est bien et bon dans d'autres situations, mais je me demande si il y a quelque chose que je peux faire ici?

28voto

sth Points 91594

Si vous souhaitez toujours ignorer le fichier, vous pouvez ajouter l'option -X par défaut pour commit à votre fichier de configuration .hg/hgrc :

 [defaults]
commit = -X program.conf
 

28voto

yanjost Points 1788

L'utilisation d'un modèle de fichier est certainement la meilleure solution. Par exemple, si vous avez un fichier database.ini , validez un fichier database.ini.template et ignorez le fichier database.ini dans .hgignore

12voto

Martin Geisler Points 44779

Nous avons écrit une extension pour cela appelé exclure. Il va automatiquement ajouter l' -X options sur les commandes qui prennent en charge eux -- hg status et hg commit l'habitude de voir le fichier modifié. Il fonctionne par la lecture d'un .hgexclude le fichier à partir de la racine de votre dépôt, tout comme l' .hgignore le fichier. Vous ajoutez les fichiers que vous souhaitez exclure:

syntax: glob
db.conf

L'extension fonctionne très bien, mais il y a une situation connue où il échoue: fusionne et la validation qui suit une fusion (c'est documenté sur le wiki). Il aurait besoin d'être améliorée, de sorte qu'il serait d'enregistrer les modifications apportées à un fichier temporaire, puis de les restaurer par la suite. Veuillez nous contacter si vous avez besoin de cette fonctionnalité.

8voto

VonC Points 414372

Il n'y a pas vraiment de processus automatique, mais vous pouvez essayer (comme dans cette SORTE de question) -X option sur hg commit:

% hg stat
M myfile
% hg commit -X 'myfile'

(d'autres solutions peuvent impliquer étagère ou hq)

Cependant, ce n'est pas la "bonne" solution. Je recommande plutôt la gestion des versions:

  • un fichier modèle
  • un script capable de générer le fichier final (que vous pouvez modifier, mais peut ignorer complètement)

5voto

CAD bloke Points 2986

Si vous utilisez TortoiseHG, ouvrez les Paramètres du référentiel, accédez à la section Valider (2e icône en bas à gauche) et ajoutez le nom du fichier à la liste Exclusion automatique à droite (~ 3ème en partant du bas de la fenêtre). liste).

De http://tortoisehg.bitbucket.org/manual/0.9/commit.html

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