Domanda

Sto cercando un'espressione per il file .hgignore, per ignorare tutti i file sotto una cartella specificata.

Ad esempio: vorrei ignorare tutti i file e le cartelle sotto il cestino

In realtà qualsiasi consiglio su come si formano le espressioni sarebbe fantastico

È stato utile?

Soluzione

In alternativa:

syntax: glob
bin/**

Altri suggerimenti

Ho fatto alcuni esperimenti e ho scoperto che la sintassi della regex su Windows si applica al percorso che inizia con il repository corrente, con barre rovesciate trasformate in barre.

Quindi, se il tuo repository è in E: \ Dev per esempio, hg status applicherà i pattern a pippo / bar / file1.c e simili. Le ancore si applicano a questo percorso.

  • Glob si applica agli elementi del percorso ed è radicato nelle parti degli elementi
  • foo corrisponde a qualsiasi cartella (o file) denominata foo (non a " foobar " né " barfoo ")
  • * foo * corrisponde a qualsiasi cartella o file con " foo " nel nome
  • foo / bar * corrisponde a tutti i file in " foo " cartella che inizia con " bar "

  • Regex fa distinzione tra maiuscole e minuscole, non ancorato
  • Naturalmente, i caratteri speciali regex backslash come. (Dot)
  • / match \ percorso separatore su Windows. \ non corrisponde a questo separatore ...
  • foo corrisponde a tutti i file e cartelle con " foo " all'interno
  • pippo / corrisponde solo alle cartelle che terminano con " pippo "
  • / foo / corrisponde alla cartella " foo " da qualche parte nel percorso
  • / foo / bar / corrisponde alla cartella " bar " nella cartella " foo " da qualche parte nel percorso
  • ^ foo corrisponde al file o alla cartella che inizia da foo nella radice del repository
  • foo $ corrisponde al file che termina con foo

Spero che questo possa aiutare, ho trovato HGIGNORE (5) pagina un po 'succinta.

Entrambi filtreranno anche una directory chiamata cabin , che potrebbe non essere quella che desideri. Se stai filtrando il livello principale, puoi usare:

^/bin/

Per le directory bin sotto la tua radice, puoi omettere ^. Non è necessario specificare la sintassi, regexp è l'impostazione predefinita.

Non importa, l'ho preso

syntax: regexp
bin\\*

le espressioni seguono la sintassi standard perl delle espressioni regolari.

sintassi: glob bin / **

Questa risposta è mostrata sopra, tuttavia vorrei anche aggiungere che * e ** sono gestiti in modo diverso. ** è ricorsivo, * non lo è.

Vedi Hg Patterns

per ignorare i file .class

syntax: regexp
?\.class
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top