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

.hgignore всего дерева каталогов, за исключением одного определенного файла

Может ли кто-нибудь сказать мне шаблон .hgignore для отслеживания одного конкретного файла в каталоге и игнорировать все остальное?

У меня есть "медиа" каталог, который содержит "default.png", для очевидных целей, а остальная часть каталога будет содержать пользовательские носители. Мы хотим, чтобы hg игнорировал все в медиа-каталоге, кроме файла по умолчанию.

4b9b3361

Ответ 1

Try:

syntax: regex
^media/.*

или (оставьте его в шале по умолчанию и сделайте)

media/**

а затем вручную hg add media/default.png.

В меркуриальном (в отличие от CVS) вы можете добавлять файлы, соответствующие вашим шаблонам игнорирования, и они отлично работают. Поэтому игнорируйте широко и hg add то, что вы хотите отслеживать.

Ответ 2

syntax: regex
^media/(?!default.png$)

почти то же самое, что и John Mee, но соответствует концу строки, вместо того, что начинается с default.png.

если вы хотите разрешить любой файл .c, но ничего больше, вы можете использовать:

^media/(?!.+\.c$)

Ответ 3

Подведение итогов как BKM (лучший известный метод)

Либо hgignore все, и затем hg добавьте обратно несколько файлов, которые вы хотите отслеживать.

Или используйте шаблон, например

syntax: regex
^path/(?!files-that-you-want-not-to-ignore$)

(Я просто хотел увидеть полный ответ в одном месте.)

Ответ 4

Не обращайте на это внимание...

syntax: regex
^media/(?!default.png)