Исключить каталоги при использовании hg purge

Я пытаюсь выполнить hg purge в своем репозитории, но мне нужно исключить некоторые каталоги (например, node_modules и что-то еще) из этой очистки.

По сути, я хочу сохранить (не удалять) эти каталоги, чтобы каждый раз не загружать их снова.

Это касается моего процесса сборки, он запускает hg purge перед запуском нового процесса сборки и, следовательно, удаляет все, что игнорируется (перечислено в .hgignore). Я не хочу, чтобы это происходило для каталогов типа node_modules и некоторых других.

Есть ли способ запретить Mercurial очищать некоторые каталоги?


person Hitmands    schedule 28.01.2016    source источник


Ответы (1)


Используйте переключатель командной строки -X/--exclude (можно указывать более одного раза):

hg purge -X 'glob:node_modules/**.js'

Приведенный выше шаблон игнорирует все файлы Javascript в каталоге node_modules, включая файлы в подкаталогах. Используйте /**, чтобы сопоставить все в каталоге:

hg purge -X 'glob:node_modules/**'

См. Имена файлов и сопоставление шаблонов глава в руководстве Mercurial; все шаблоны, описанные там, можно использовать здесь.

При тестировании своих шаблонов убедитесь, что вы используете параметр командной строки --print для hg purge, тогда он будет печатать только те файлы, которые будут удалены. Это помогает при повторении ваших шаблонов, вам не нужно повторно устанавливать файлы между попытками.

person Martijn Pieters    schedule 28.01.2016