Подтвердить что ты не робот

Игнорирование папок в меркуриальных

Протест: Я пробую все возможности, перечисленные здесь: Как я могу игнорировать все под папкой в ​​Mercurial.
Надеюсь, никто не работает.

Я хочу игнорировать все, что находится в папке test. Но не игнорируйте srcProject\test\TestManager

Я пытаюсь

syntax: glob
test/**

И он игнорирует test и srcProject\test\TestManager

С

syntax: regexp
^/test/

Это то же самое.

Также с помощью:

syntax: regexp
test\\*

У меня есть TortoiseHG 0.4rc2 с Mercurial-626cb86a6523 + tortoisehg, Python-2.5.1, PyGTK-2.10.6, GTK-2.10.11 в Windows

4b9b3361

Ответ 1

Попробуйте его без косой черты после каретки в версии regexp.

^test/

Здесь тест:

~$ mkdir hg-folder-ignore
~$ cd hg-folder-ignore
~/hg-folder-ignore$ echo '^test/' > .hgignore
~/hg-folder-ignore$ hg init
~/hg-folder-ignore$ mkdir test
~/hg-folder-ignore$ touch test/ignoreme
~/hg-folder-ignore$ mkdir -p srcProject/test/TestManager
~/hg-folder-ignore$ touch srcProject/test/TestManager/dont-ignore
~/hg-folder-ignore$ hg stat
? .hgignore
? srcProject/test/TestManager/dont-ignore

Обратите внимание, что ignoreme не отображается и не игнорируется.

Ответ 2

Вы можете использовать отрицательные выражения "назад вперед" и "смотреть назад" с нулевой шириной, чтобы указать, что вы хотите игнорировать test только тогда, когда ему не предшествует srcProject и не следует TestManager:

syntax: regexp
(?<!srcProject\\)test\\(?!TestManager)

Mercurial использует регулярные выражения Python, поэтому вы можете найти больше информации о утверждениях нулевой ширины в документах Python: https://docs.python.org/library/re.html#regular-expression-syntax p >

Ответ 3

Оба случая работали для меня (на linux и windows):

syntax: regexp
^backup/     #root folder
nbproject/   #any folder

или

syntax: glob
./backup/*   #root folder
nbproject/*  #any folder

Однако раньше я не добавил ссылку на файл .hgignore в файл .hgrc в своем репо:

[ui]
ignore = .hg/.hgignore

Также стоит упомянуть, что Mercurial игнорирует файлы, которые он не отслеживает в настоящее время, которые добавляются до того, как вы настроили его, чтобы игнорировать их. Таким образом, не откладывайте статус hg, заявив, что некоторые из них являются M (изменены) или! (отсутствует) в папках, которые вы только что добавили в список игнорирования!

Ответ 4

Создайте файл .hgignore в корневом каталоге репозитория

Теперь добавьте следующее содержимое в файл.

синтаксис: glob

бен/**

*. DS_Store

Это приведет к удалению каталога bin и всех файлов *.DS_Store из репозитория