ignorer les dossiers dans mercurial
-
08-07-2019 - |
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
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