Frage

Caveat: Ich versuche, alle posibilities hier aufgelistet: Wie kann ich ignorieren alles unter einem Ordner in Mercurial .
Keiner arbeitet, wie ich hoffe.

Ich möchte alles, was unter dem Ordner test ignorieren. Aber nicht ignorieren srcProject\test\TestManager

Ich versuche

syntax: glob
test/**

Und es ignoriert test und srcProject\test\TestManager

Mit:

syntax: regexp
^/test/

Es ist die gleiche Sache.

Auch mit:

syntax: regexp
test\\*

ich installieren TortoiseHG 0.4rc2 mit Mercurial-626cb86a6523 + TortoiseHG, Python-2.5.1, PyGTK-2.10.6, GTK-2.10.11 in Windows

War es hilfreich?

Lösung

Versuchen Sie es ohne den Schrägstrich nach dem Caret in der regexp Version.

^test/

Hier ist ein 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

Beachten Sie, dass ignoreme nicht angezeigt wird und dont-ignorieren ist.

Andere Tipps

Sie können Null-Breite negativ Vorgriff verwenden und Blick hinter Behauptungen zu spezifizieren, dass Sie test nur ignorieren wollen, wenn es nicht von srcProject voraus ist und nicht durch TestManager gefolgt:

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

Mercurial verwendet Python reguläre Ausdrücke, so können Sie weitere Informationen über Null-Breite Behauptungen in der Python-Dokumentation finden: https://docs.python.org/library/re.html#regular-expression-syntax

In beiden Fällen für mich gearbeitet (auf Linux und Windows):

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

oder

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

Es war jedoch nicht, bevor ich einen Link zu .hgignore Datei .hgrc Datei in meinem Repo hinzugefügt:

[ui]
ignore = .hg/.hgignore

Auch erwähnenswert, dass Mercurial erwähnen ignoriert Dateien, dass es nicht zur Zeit-Tracking , die diejenigen hinzugefügt werden, bevor Sie es so konfigurierten, sich zu ignorieren. Also, lassen Sie sich nicht von hg Status sagen einige eingereicht sind M (modifiziert) oder aufschieben! (Fehlt) in den Ordnern, die Sie nur auf die Ignore-Liste hinzugefügt haben!

Erstellen .hgignore Datei unter Stammverzeichnis des Repository

Sie nun die folgenden Inhalte in der Datei hinzufügen.

  

Syntax: glob

     

ist / **

     

*. DS_Store

Dies wird das bin Verzeichnis entfernen und alle * .DS_Store Dateien aus dem Repository

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top