Mercurial. Исключить все папки кроме одной через .hgignore

Имеется следующая структура каталогов:

assets
--dist
----css
----img
----upload

Необходимо через .hgignore исключить все папки, кроме upload, чтобы файлы dist и внутренних не попадали в коммит, а те, что в upload коммитились. Как это лучше всего сделать? У меня пока исключена вся папка dist таким образом:

syntax: glob
assets/dist/*

Будет ли работать вот такой вариант - !assets/dist/upload/* ??? Если нет то как лучше всего поступить?


Ответы (1 шт):

Автор решения: Lazy Badger
  1. !<path>это чистый гитизм, в hg не работает

  2. Можно (но не нужно) использовать regexp типа

    syntax: regex

    ^path/(?!paths-that-you-want-not-to-ignore)

  3. Если вопрос об одном (или минимальном числе) исключении из общего игнорирования, то проще оставить одно простое правило и после руками один раз hg add upload/** (и повторять для новодобавленных файлов в upload)

→ Ссылка