2009-11-05 11 views
17

mir jemand das .hgignore Muster sagen kann, eine bestimmte Datei in einem Verzeichnis zu verfolgen und alles andere zu ignorieren?.hgignore ganzen Verzeichnisbaum mit Ausnahme einer bestimmten Datei

Ich habe einen „Medien“ Verzeichnis, das eine „default.png“, aus offensichtlichen Zweck enthält, und den Rest des Verzeichnisses Benutzermedien halten. Wir möchten, dass hg alles im Medienverzeichnis mit Ausnahme der Standarddatei ignoriert.

Antwort

25

Versuchen scheint zu funktionieren:

syntax: regex 
^media/.* 

oder (im Standard-glob lassen Sie es und tun)

media/** 

und dann manuell hg add media/default.png.

In Mercurial (anders als in CVS) können Sie Dateien hinzufügen, die Ihre Muster ignorieren passen und sie funktionieren gut. Also ignorieren Sie breit und hg add was Sie verfolgen möchten.

+1

dies funktioniert aber es Ihnen die Dateien manuell hinzufügen müssen Sie wollen und hg werden nicht merken, wenn Sie eine neue Datei hinzufügen, die das Muster übereinstimmt (wenn Sie auf * .c zum Beispiel angepasst). – frankster

+0

Völlig wahr. Ich bevorzuge es immer noch mit negativem Look-ahead, aber nicht jeder tut es. Persönlich habe ich nur sicherstellen, dass meine vorübergehenden Dateien und meine Ende Sachen halten in verschiedenen Verzeichnissen, so muß ich darüber keine Sorge. –

4

Egal diese ...

syntax: regex 
^media/(?!default.png) 
+0

dies würde auch default.png.sadkjsdhfdshfjkds passen – frankster

+0

ja, braucht eine ‚$ "Am Ende, um sicher zu sein. Sieh deine Antwort. –

6

fast das gleiche wie John Mee aber passt zum Ende der Zeile, anstatt alles, was mit default.png beginnt.

, wenn Sie eine C-Datei aber sonst nichts erlauben wollten, könnten Sie verwenden:

^media/(?!.+\.c$) 
5

es oben als BKM Summieren (beste bekannte Methode)

Entweder hgignore alles, und dann hg Fügen Sie die wenigen Dateien hinzu, die Sie verfolgen möchten.

Oder ein Muster verwenden, wie

syntax: regex 
^path/(?!files-that-you-want-not-to-ignore$) 

(Ich wollte nur an einem Ort die vollständige Antwort sehen.)

+1

Wie kann ich mehrere Dateien angeben? – m4l490n

Verwandte Themen