Question

Avertissement: J'essaie toutes les possibilités énumérées ici: Comment puis-je ignorer tout sous un dossier dans Mercurial .
Aucun ne fonctionne comme j'espère.

Je veux tout ignorer du dossier test . Mais pas ignorer srcProject \ test \ TestManager

j'essaie

syntax: glob
test/**

Et il ignore test et srcProject \ test \ TestManager

Avec:

syntax: regexp
^/test/

C'est la même chose.

Aussi avec:

syntax: regexp
test\\*

J'ai installé TortoiseHG 0.4rc2 avec Mercurial-626cb86a6523 + tortoisehg, Python-2.5.1, PyGTK-2.10.6, GTK-2.10.11 sous Windows

Était-ce utile?

La solution

Essayez-le sans la barre après le curseur dans la version regexp.

^test/

Voici un test:

~$ mkdir hg-folder-ignore
~$ cd hg-folder-ignore
~/hg-folder-ignore$ echo '^test/' > .hgignore
~/hg-folder-ignore$ hg init
~/hg-folder-ignore$ mkdir test
~/hg-folder-ignore$ touch test/ignoreme
~/hg-folder-ignore$ mkdir -p srcProject/test/TestManager
~/hg-folder-ignore$ touch srcProject/test/TestManager/dont-ignore
~/hg-folder-ignore$ hg stat
? .hgignore
? srcProject/test/TestManager/dont-ignore

Notez que ignoreme n'apparaît pas et que ne pas ignorer l'est.

Autres conseils

Vous pouvez utiliser des assertions d'anticipation et d'anticipation négatives de largeur nulle pour spécifier que vous souhaitez ignorer test uniquement si elle n'est pas précédée de srcProject et n'est pas suivie. par TestManager :

syntax: regexp
(?<!srcProject\\)test\\(?!TestManager)

Mercurial utilise les expressions régulières Python. Vous pouvez donc trouver plus d’informations sur les assertions de largeur nulle dans les documents Python: https://docs.python.org/library/re.html#regular-expression-syntax

Les deux cas ont fonctionné pour moi (sous Linux et Windows):

syntax: regexp
^backup/     #root folder
nbproject/   #any folder

ou

syntax: glob
./backup/*   #root folder
nbproject/*  #any folder

Toutefois, ce n’était pas avant que j’ai ajouté un lien vers un fichier .hgignore à un fichier .hgrc dans mon référentiel:

[ui]
ignore = .hg/.hgignore

Il convient également de mentionner que mercurial ignore les fichiers qu’elle n'est pas en train de suivre , à savoir ceux qui ont été ajoutés avant que vous ne les ayez configurés. Donc, ne soyez pas rebutés par le statut hg en disant que certains sont classés M (modifié) ou! (manquant) dans les dossiers que vous venez d'ajouter à la liste des ignorés!

Créez un fichier .hgignore dans le répertoire racine du référentiel

Ajoutez maintenant le contenu suivant dans le fichier.

  

syntaxe: glob

     

bin / **

     

*. DS_Store

Ceci supprimera le répertoire bin et tous les fichiers * .DS_Store du référentiel

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top