Question

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

Exemple: je voudrais ignorer tous les fichiers et dossiers situés sous bin

En fait, tout conseil sur la manière dont les expressions sont formées serait formidable

Était-ce utile?

La solution

Alternativement:

syntax: glob
bin/**

Autres conseils

J'ai fait quelques expériences et j'ai constaté que la syntaxe des expressions rationnelles sous Windows s'applique au chemin commençant par le référentiel actuel, avec des barres obliques inverses transformées en barres obliques.

Ainsi, si votre référentiel est dans E: \ Dev par exemple, hg status appliquera les modèles à foo / bar / file1.c et autres. Les ancres s’appliquent à ce chemin.

Donc:

  • Glob s’applique aux éléments de chemin et s’enracine dans les parties d’élément
  • foo correspond à tout dossier (ou fichier) nommé foo (ne pas utiliser "foobar" ni "barfoo")
  • * foo * correspond à tout dossier ou fichier avec " foo " au nom
  • foo / bar * correspond à tous les fichiers de " foo " dossier commençant par "bar"


  • Regex est sensible à la casse et non ancré
  • Bien sûr, les caractères spéciaux de type backslash regex tels que. (point)
  • / correspond à \ séparateur de chemin sous Windows. \ ne correspond pas à ce séparateur ...
  • foo correspond à tous les fichiers et dossiers avec " foo " à l'intérieur
  • foo / ne correspond qu'aux dossiers se terminant par "foo"
  • / foo / correspond au dossier " foo " quelque part dans le chemin
  • / foo / bar / correspond au dossier "bar". dans le dossier " foo " quelque part dans le chemin
  • ^ toto correspond à un fichier ou un dossier commençant par toto à la racine du référentiel
  • $ foo correspond au fichier se terminant par foo

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

Ces deux éléments filtreront également un répertoire appelé cabin , qui pourrait ne pas être ce que vous voulez. Si vous filtrez au plus haut niveau, vous pouvez utiliser:

^/bin/

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

Peu importe, je l'ai

syntax: regexp
bin\\*
Les expressions

suivent la syntaxe standard des expressions rationnelles Perl.

syntaxe: glob bin / **

Cette réponse est indiquée ci-dessus, mais j'aimerais également ajouter que * et ** sont gérés différemment. ** est récursif, * ne l’est pas.

Voir Modèles de Hg

ignorer les fichiers .class

syntax: regexp
?\.class
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top