153 votes

Comment est-ce que je ne peux ignorer tout sous un dossier dans Mercurial

Je cherche une expression pour le fichier .hgignore, pour ignorer tous les fichiers sous un dossier spécifié.

ex: Je voudrais ignorer tous les fichiers et dossiers sous bin

En fait, tout conseil sur la façon dont les expressions sont formées serait génial

178voto

Ry4an Points 56453

Alternativement:

 syntax: glob
bin/**
 

54voto

PhiLho Points 23458

J'ai fait quelques expériences et j'ai trouvé que l'expression rationnelle de la syntaxe Windows s'applique à la voie de départ avec le référentiel actuel, avec des barres obliques inverses transformé à des barres obliques.

Donc, si votre dépôt est E:\Dev par exemple, hg status va appliquer les modèles à l'encontre de foo/bar/fichier1.c et tels. Les ancres s'appliquent à ce chemin.

Donc:

  • Glob s'applique aux éléments de chemin d'accès et qui est ancrée à l'élément de pièces
  • foo correspond à n'importe quel dossier (ou fichier) nommé foo (pas de "foobar", ni "barfoo")
  • *foo* correspond à n'importe quel dossier ou fichier "foo" dans le nom
  • foo/bar* correspond à tous les fichiers dans "foo" dossier de départ avec "bar"


  • Regex est sensible à la casse, pas ancré
  • Bien sûr, la barre oblique inverse regex caractères spéciaux comme . (dot)
  • / correspond \ séparateur de chemin sur Windows. \ ne correspond pas à ce séparateur...
  • foo correspond à tous les fichiers et dossiers avec "toto" à l'intérieur
  • foo/ correspond uniquement les dossiers pour finir avec "toto"
  • /foo/ correspond le dossier "toto" quelque part dans le chemin d'accès
  • /foo/bar/ correspond au dossier "barre" dans le dossier "toto" quelque part dans le chemin d'accès
  • ^foo correspond à un fichier ou dossier en commençant par toto à la racine du référentiel
  • foo$ matches de fichier se terminant par foo

J'espère que cela va aider, j'ai trouvé le HGIGNORE(5) page un peu succincte.

10voto

nullptr Points 5432

Tous deux filtreront également un répertoire appelé cabin , ce qui pourrait ne pas être ce que vous voulez. Si vous filtrez le niveau supérieur, vous pouvez utiliser:

 ^/bin/
 

Pour les répertoires bin sous votre racine, vous pouvez omettre le ^. Il n'est pas nécessaire de spécifier une syntaxe, regexp est la valeur par défaut.

2voto

Xian Points 33986

Nevermind, je l'ai eu

 syntax: regexp
bin\\*
 

les expressions suivent la syntaxe des expressions régulières perl standard.

-2voto

user2427 Points 2747

ignorer les fichiers .class

 syntax: regexp
?\.class
 

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