Frage

Ich habe ein Problem, das ich nicht zu verstehen scheinen. Ich verwende TortoiseHg (Version 0.7.5) auf Windows, sondern auf Linux Ich habe das gleiche Problem. Hier ist sie:

Meine .hgignore-Datei:

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

Was ich versuche zu erreichen, um die Ignore-Liste die Dateien, die in der Wurzel der hg-Repository hinzuzufügen.

Zum Beispiel, wenn ich wie folgt aussehen:

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

Ich möchte myfile1 (2) und anotherfile1 (2) ignoriert werden (Namen sind nur für die Zwecke dieses Beispiel - sie keine einfache Regel, die in der hgignore Datei gesetzt werden kann leicht)

Gibt es etwas, ich vermisse, weil ich ziemlich sicher bin, dass regexp gut (ich es selbst getestet)? Ideen?

Gibt es einen einfacheren Weg, dies zu erreichen? [Auf die Ignore-Liste Dateien hinzufügen, die in der Wurzel des Mercurial-Repository sind]

War es hilfreich?

Lösung

weitergeleitet ich diese Frage in #mercurial auf irc.freenode.net und die Antwort war, dass man nicht zwischen Dateien und Verzeichnissen unterscheiden -. Das Verzeichnis ohne slash abgestimmt ist, die Sie in Ihrem regexp sind

Wenn Sie jedoch kann man davon ausgehen, dass Ihre Verzeichnisse werden nie eine voll-stop . enthalten, aber Ihre Dateien werden, dann arbeiten so etwas wie dies scheint:

^[^/]*\..*$

Ich habe es getestet in einem Repository wie folgt aus:

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

Das Hinzufügen der .hgignore Datei gibt:

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

, die anzeigt, dass die a.txt Datei korrekt in Ihrem Stammverzeichnis ignoriert wird, aber x.txt im foo Unterverzeichnis nicht. Sie können auch sehen, dass eine Datei mit dem Namen nur im Stammverzeichnis bbb ist nicht ignoriert. Aber vielleicht können Sie solche Dateien hinzufügen, sich auf die .hgignore Datei.

Wenn Sie ein Verzeichnis wie bar.baz in Ihrem Stammverzeichnis haben passieren, dann ist dieses Verzeichnis und alle darin enthaltenen Dateien werden ignoriert. Ich hoffe, das hilft ein wenig.

Andere Tipps

Hier ist ein schmutziger Trick:

eine leere Datei in Ihrem Verzeichnis erstellen ".hidden", als in dem .hgignore:

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

Damit werden alle Dateien im Verzeichnis mit Ausnahme von „.hidden“.

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