Mit Mercurial muss ich alle Dateien außer denen in einem bestimmten Verzeichnis namens "Keepers" ignorieren.Mercurial .hgignore Negative Lookahead
Auf den ersten Blick schien dies einfach mit Regex und Negative Lookahead; Obwohl ich meine Regex in Regex Buddy und anderen Tools überprüfen kann, funktioniert TortoiseHg nicht wie erwartet.
Dateien:
- junk \ junk.txt
- Junk \ text
- Wächter \ test \ test
- Wächter \ test \ test2 \ hi.txt
- keepersblah.txt
Nur die zwei Dateien unter Keeper sollten nicht ignoriert werden. Hier
ist die regex ich gehofft funktionieren würde:
^(?!keepers/).+$
Leider bewirkt dies, dass alle Dateien ignoriert werden. Wenn ich es ändere:
^(?!keepers).+$
es funktioniert wie Sie erwarten würden. Das heißt, es ignoriert alle Dateien/Ordner, die nicht mit Keepern beginnen. Aber ich möchte Dateien ignorieren, die mit Keepern beginnen.
Seltsamer, wenn ich es so weit ändern:
^(?!keepers/).+\..+$
Es wird richtig den Ordner übereinstimmen, aber es wird keine Dateien ignorieren, die nicht in den Pflegern Ordner sind, wenn sie nicht über eine Erweiterung verfügen.
Jeder Rat würde geschätzt werden.
Entfernen abgestorbener Images Link
ich auch '^ (?! Bewahrer \ b) versucht,', aber das gescheitert gegen "keepers.txt" – eswald
Brilliant! Vielen Dank, beide haben perfekt funktioniert. Ich habe mir eine Stunde lang den Kopf gestoßen :) –
In einer Look-Ahead Assertion gibt es keine Notwendigkeit für nicht-einfangende Gruppen, da sie sowieso nicht erfasst wird: '^ (?! keepers (/ | $)). *' – Tomalak