Jak mogę zignorować wszystko pod folderem w Mercurial

Szukam wyrażenia naplik hgignore, aby zignorować wszystkie pliki znajdujące się pod określonym folderem.

Np: chciałbym zignorować wszystkie pliki i foldery pod bin

Właściwie każda rada na temat tworzenia wyrażeń byłaby świetna

Author: Martin Geisler, 2008-10-31

6 answers

Naprzemiennie:

syntax: glob
bin/**
 163
Author: Ry4an Brase,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-31 22:05:03

Przeprowadziłem kilka eksperymentów i odkryłem, że składnia regex w systemie Windows odnosi się do ścieżki zaczynającej się od bieżącego repozytorium, z odwróconymi ukośnikami przekształconymi w ukośniki.

Więc jeśli Twoje repozytorium jest w E:\Dev na przykład, hg status zastosuje wzorce przeciwko foo/bar / file1.c i takie tam. Kotwice mają zastosowanie do tej ścieżki.

Więc:

  • Glob odnosi się do elementów ścieżki i jest zakorzeniony w elementach
  • foo pasuje do dowolnego folderu (lub pliku) o nazwie foo (nie do "foobar" ani "barfoo")
  • *foo * pasuje do dowolnego folderu lub pliku z "foo" w nazwie
  • foo / bar * pasuje do wszystkich plików w folderze " foo "zaczynając od" bar "


  • Regex uwzględnia wielkość liter, nie jest zakotwiczony
  • oczywiście, backslash regex znaki specjalne jak . (kropka)
  • / dopasowuje separator \ ścieżki w systemie Windows. \ nie pasuje do tego separatora...
  • foo dopasowuje wszystkie pliki i foldery z "foo" wewnątrz
  • foo / pasuje Tylko do folderów zakończonych "foo"
  • /foo / dopasowuje folder " foo " gdzieś w ścieżce
  • /foo / bar / pasuje do folderu " bar " w folderze "foo" gdzieś w ścieżce
  • ^Foo dopasowuje plik lub folder zaczynający się od foo w katalogu głównym repozytorium
  • foo$ matches plik kończący się na foo

Mam nadzieję, że to pomoże, znalazłem stronę HGIGNORE (5) nieco zwięzłą.

 50
Author: PhiLho,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-12-06 12:59:25

Oba z nich będą również filtrować katalog o nazwie cabin, który może nie być tym, czego chcesz. Jeśli filtrujesz najwyższy poziom, możesz użyć:

^/bin/

Dla bin katalogów poniżej katalogu głównego, możesz pominąć ^. Nie ma potrzeby, aby określić składnię, regexp jest domyślne.

 8
Author: Derek Slager,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-31 22:19:31

Nevermind, I got it

syntax: regexp
bin\\*

Wyrażenia są zgodne ze standardową składnią wyrażeń regularnych Perla.

 2
Author: Xian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-31 16:09:45

Ignorować .class files

syntax: regexp
?\.class
 0
Author: user2427,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-21 19:53:28

Składnia: glob bin / * *

Ta odpowiedź jest pokazana powyżej, jednak chciałbym również dodać, że * i * * są traktowane inaczej. ** jest rekurencyjny, * nie jest.

Zobacz Wzory Hg

 0
Author: balrob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-14 22:08:07