Wie kann ich alles unter einem Ordner in Mercurial ignorieren
-
05-07-2019 - |
Frage
Ich bin für einen Ausdruck für die .hgignore Datei, alle Dateien unter einem bestimmten Ordner zu ignorieren.
Beispiel: Ich möchte alle Dateien und Ordner unter bin ignorieren
Eigentlich jede Ratschläge, wie die Ausdrücke gebildet werden, wäre toll
Lösung
Alternativ:
syntax: glob
bin/**
Andere Tipps
ich einige Experimente gemacht und ich fand, dass die Regex-Syntax unter Windows auf den Pfad gilt mit dem aktuellen Repository beginnend mit Schrägstrichen zu Schrägstrichen umgewandelt.
Also, wenn Ihr Repository ist in E: \ Dev zum Beispiel hg status
die Muster gegen foo / bar / file1.c gelten und so. Anker gilt für diesen Weg.
So:
- Glob gilt für Pfadelemente und an Elementteile verankert
- foo entspricht einem beliebigen Ordner (oder Datei) mit dem Namen foo (nicht auf "foobar" noch "barfoo")
- * foo * entspricht einem beliebigen Ordner oder eine Datei mit "foo" im Namen
- foo / bar * entspricht allen Dateien in "foo" Ordner mit "bar" Start
- Regex ist Groß- und Kleinschreibung, nicht verankert
- Natürlich regex Backslash Sonderzeichen wie. (Dot)
- / entspricht \ Pfadseparator unter Windows. \ Nicht über diese Trennzeichen entsprechen ...
- foo passt auf alle Dateien und Ordner mit "foo" innerhalb
- foo / entspricht nur Ordner, die mit "foo"
- / foo / entspricht den Ordner "foo" irgendwo im Pfad
- / foo / bar / entspricht den Ordner "bar" in dem Ordner "foo" irgendwo im Pfad
- ^ foo passen Datei oder einen Ordner Start von foo an der Wurzel des Repository
- foo $ treffer mit foo Datei mit der Endung
Ich hoffe, dass dies dazu beitragen wird, fand ich die HGIGNORE (5) Seite ein wenig prägnant.
Diese beiden wird auch ein Verzeichnis auszufiltern genannt cabin
, die vielleicht nicht, was Sie wollen. Wenn Sie Top-Level sind Filterung, können Sie:
^/bin/
Für bin
Verzeichnisse unterhalb Ihrer Wurzel, können Sie die ^ weglassen. Es besteht keine Notwendigkeit Syntax angeben, regexp ist die Standardeinstellung.
Nevermind, ich habe es
syntax: regexp
bin\\*
Ausdrücke folgen Standard Perl Syntax für reguläre Ausdrücke.
Syntax: glob ist / **
Diese Antwort ist oben gezeigt, jedoch würde ich auch, dass * hinzufügen, und ** werden unterschiedlich behandelt. ** ist rekursiv, * nicht.
Siehe Hg Patterns
ignorieren .class-Dateien
syntax: regexp
?\.class