2011-11-28 3 views
21

Dans mon dossier Mercurial.ini, j'appelle un fichier global de hgignore comme ceci:Usage global du hgignore

[ui] 
ignore = ~/hgignore.ini 

Cela fait référence à un fichier hgignore.ini qui est dans le même répertoire que le fichier Mercurial.ini.

  1. Le hgignore local remplace-t-il le hgignore global?
  2. Si oui, est-il recommandé d'avoir un seul hgignore global avec les sections pertinentes marquées ou avoir un fichier global hgignore pour les modèles généraux et les fichiers hgignore locaux individuels pour les modèles spéciaux relatifs au repo particulier?

Par hgignore mondiale avec des sections pertinentes marqué, je veux dire:

syntax: glob 

# VISUAL STUDIO 

*.obj 
*.pdb 
*.suo 
[Bb]in 
[Dd]ebug*/ 
[Rr]elease*/ 

# TEMPORARY FILES 

*.log 
*.bak 
*.cache  
+2

Pour ceux d'entre nous qui ont du mal à penser, 'hgignore.ini' est le nom de Windows; sur d'autres systèmes d'exploitation, cela doit être '~/.hgrc'. – FauxFaux

+1

@FauxFaux: Faux! Cela correspond à '~/.hgignore' sur les systèmes Unix. – Noldorin

+0

Le fichier de configuration Mercurial * par utilisateur * est '% USERPROFILE%/mercurial.ini' sous Windows et' ~/.hgrc' sous Linux/Unix (bien que '% USERPROFILE% /. Hgrc' soit également autorisé sous Windows). Ceci est détaillé dans 'hg help hgrc'. Le fichier * global ignore * peut bien sûr être appelé comme vous voulez, puisque le chemin est explicitement spécifié dans le fichier de configuration. –

Répondre

20

Le .hgignore global est "ajouté" au local. Cela signifie que tout dans le référentiel global sera pris en compte pour chaque référentiel, mais le contenu du référentiel local sera également pris en compte.

Pour la deuxième question, je pense que la meilleure réponse est: cela dépend de ce que vous voulez;)

  1. Si vous voulez un contrôle à grain très fin sur ce qui est ignoré pour chaque dépôt, rendez-vous pour les locaux version.
  2. Si vous voulez ne pas être dérangé chaque fois que vous créez un repo, ajoutez tout au fichier global.
  3. quelque chose entre à vos besoins ... costumes

Dans mon cas, je l'utilise tous les deux. Le .hgignore global contient des fichiers de projet (Visual Studio, Netbeans), des fichiers de sauvegarde (.bak, vim), des bibliothèques (dll, so, etc). Et pour chaque projet, je mets tout ce qui est spécifique dans le fichier local.

+3

Je ne recommanderais pas d'ignorer les fichiers de projet Visual Studio à moins que vous ne l'utilisiez comme éditeur. Le fichier de projet contient des informations importantes nécessaires pour compiler l'application et sera nécessaire pour tous ceux qui clonent votre référentiel. S'ils doivent le créer eux-mêmes, ils peuvent le créer avec des paramètres différents et obtenir une sortie différente. –

+3

J'inclus les fichiers du projet, mais exclu les solutions et les fichiers suo – Deanna