Question

J'ai un problème que je n'arrive pas à comprendre. J'utilise TortoiseHg (version 0.7.5) sous Windows, mais j'ai le même problème sous Linux. La voici:

Mon .hgignore fichier:

syntax: regexp
^[^\\/]+$

Ce que je cherche à faire est d’ajouter à la liste des fichiers ignorés les fichiers qui se trouvent à la racine du référentiel hg.

Par exemple si j'ai comme ceci:

.hg
+mydir1
+mydir2
-myfile1
-myfile2
-anotherfile1
-anotherfile2 
.hgignore

Je veux que monfichier1 (2) et un autrefichier1 (2) soient ignorés (les noms ne servent que pour cet exemple - ils n'ont pas une simple règle qui puisse être facilement insérée dans le fichier hgignore)

Y a-t-il quelque chose qui me manque parce que je suis à peu près sûr que l'expression rationnelle est bonne (je l'ai même testée)? Des idées?

Existe-t-il un moyen plus simple d'y parvenir? [pour ajouter à la liste des fichiers ignorés qui se trouvent à la racine du référentiel mercurial]

Était-ce utile?

La solution

J'ai relayé cette question dans #mercurial sur irc.freenode.net et la réponse a été que vous ne pouvez pas distinguer les fichiers et les répertoires & # 8212; le répertoire est mis en correspondance sans la barre oblique que vous recherchez dans votre expression rationnelle.

Toutefois, si vous pouvez supposer que vos répertoires ne contiendront jamais un <-> arrêt complet, mais que vos fichiers le seront, quelque chose comme cela semble fonctionner:

^[^/]*\..*$

Je l'ai testé dans un référentiel comme celui-ci:

% hg status -ui
? a.txt
? bbb
? foo/x.txt
? foo/yyy

Ajouter le fichier . donne:

% hg status -ui
? bbb
? foo/x.txt
? foo/yyy
I .hgignore
I a.txt

indique que le fichier .hgignore est correctement ignoré dans votre répertoire racine, mais que a.txt dans le sous-répertoire x.txt ne l’est pas. Vous pouvez également constater qu'un fichier nommé juste foo dans le répertoire racine n'est pas ignoré. Mais peut-être pouvez-vous ajouter vous-même ces fichiers au bbb fichier.

Si vous avez un répertoire tel que bar.baz dans votre répertoire racine, alors ce répertoire et tous les fichiers qu'il contient seront ignorés. J'espère que cela aide un peu.

Autres conseils

Voici un truc sale:

Créez un fichier vide ". .hidden " dans votre répertoire, que d'ajouter à .hgignore:

^mydir/(?!\.hidden).+$

Ceci ignorera tous les fichiers du répertoire sauf " .hidden ".

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