Ich benutze leere .hg_keep
Dateien, um einige (sonst leere) Ordner in Mercurial zu behalten.Regex für alle Dateien außer .hg_keep
Das Problem ist, dass ich eine funktionierende Regex nicht finden kann, die alles außer den .hg_keep
Dateien ausschließt.
können sagen, wir haben diese Dateistruktur:
a/b/c2/.hg_keep
a/b/c/d/.hg_keep
a/b/c/d/file1
a/b/c/d2/.hg_keep
a/b/.hg_keep
a/b/file2
a/b/file1
a/.hg_keep
a/file2
a/file1
und ich möchte nur die .hg_keep
Dateien unter a/b/
halten.
mit Hilfe von http://gskinner.com/RegExr/ habe ich folgende .hgignore
:
syntax: regexp
.*b.*/(?!.*\.hg_keep)
aber Mercurial ignoriert alle .hg_keep
Dateien in Unterordner von b
.
# hg status
? .hgignore
? a/.hg_keep
? a/b/.hg_keep
? a/file1
? a/file
# hg status -i
I a/b/c/d/.hg_keep
I a/b/c/d/file1
I a/b/c/d2/.hg_keep
I a/b/c2/.hg_keep
I a/b/file1
I a/b/file2
Ich weiß, dass ich eine Dose hd add
all .hg_keep
Dateien, aber gibt es eine Lösung mit einem regulären Ausdruck (oder glob)?
Das sind die einzigen Zeilen, die er nicht übereinstimmen muss - ist dies für die .hgignore Datei. – robert
@robert Danke, aktualisiert, um nicht passende Regex zu enthalten. –
Funktioniert in http://gskinner.com/RegExr/ aber nicht in .hgignore. Vielleicht ein Problem mit dem Regex-Parsing in mercurial? Es passt auch die Dateien "a/file1" und "a/file2", die ich behalten möchte. – rmweiss