.hgignore всего дерева каталогов, за исключением одного определенного файла
Может ли кто-нибудь сказать мне шаблон .hgignore для отслеживания одного конкретного файла в каталоге и игнорировать все остальное?
У меня есть "медиа" каталог, который содержит "default.png", для очевидных целей, а остальная часть каталога будет содержать пользовательские носители. Мы хотим, чтобы hg игнорировал все в медиа-каталоге, кроме файла по умолчанию.
Ответы
Ответ 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)