Идентичный вопрос к gitignore: игнорировать все файлы в иерархии папок, кроме одного конкретного типа файла , но для Mercurial.
Я хочу .hgignore
игнорировать все файлы, кроме одного или нескольких файлов изопределенный тип файла, например, позволяет отслеживать только файлы типа *.java
и *.class
в текущем каталоге, а также в подкаталогах.
Например, в следующем каталоге:
A.java
a.txt
a.png
A.class
B/C.java
B/G/H/h.png
B/C.class
D/E/F.java
Я хочу, чтобы были включены только следующие файлы (включая структуру каталогов):
A.java
A.class
B/C.java
B/C.class
D/E/F.java
(не имеет значения, будет ли создан каталог, содержащий h.png
)или нет.)
Я пытался применить и изменить те же принципы, которые упоминались в вопросе выше (но вместо этого для Mercurial), а также пытался применить принципы из вопроса Как я могу игнорироватьвсе каталоги, кроме одного, использующего .hgignore? , безуспешно.
РЕДАКТИРОВАТЬ: я пробовал следующее с вышеупомянутым деревом каталогов выше
$ hg stat
? A.class
? A.java
? B/C.class
? B/C.java
? B/G/H/h.png
? D/E/F.java
? a.png
? a.txt
$ hg add -I "**.{class, java}"
adding A.class
adding A.java
adding B/C.class
adding B/C.java
adding D/E/F.java
, который дал мне желаемый результат.Как создать .hgignore
или файл конфигурации, который применяет -I "**.{class, java}"
для каждого add
или commit
(и аналогичных запросов)?