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

War es hilfreich?

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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top