Mercurial игнорирует все файлы, кроме определенных имен файлов - PullRequest
2 голосов
/ 15 февраля 2012

У меня большая файловая система, в которой почти в каждой папке есть файл с именем content.txt

Я хочу отслеживать каждый файл с именем content.txt и автоматически игнорировать все остальное. Я хочу, чтобы репозиторий автоматически отслеживал новые файлы с именем content.txt, поэтому я не хочу игнорировать все в .hgignore и затем добавлять вручную.

Кто-нибудь знает, как это сделать?

Ответы [ 2 ]

2 голосов
/ 15 февраля 2012
  1. Это должен быть режим регулярного выражения, а не glob
  2. Вы должны отладить часть пути регулярного выражения , но черновик "all кроме content.txt" равен re:.*\.(?!content.txt) какнадежда

Альтернативным решением может быть * игнорирование всех * добавление шаблона файлов content.txt для фиксации команды (опция -I), см. hg help commit и hg help patterns

hg commit -I '**content.txt'

Редактировать

re:.*/(?!content.txt)

1 голос
/ 28 октября 2012

Попробуйте это:

syntax: regexp
\.(?!txt$)[^.]+$ # "*." is followed by "txt" and we're at the end
(?<!\.)txt$ # "txt" follows a "."
(?<!/)content\. # "content." follows path separator
(?<!content)\. # "." follows "content"

Я оставил в комментариях, которые я сделал во время эксперимента, чтобы все это понять.(Это синтаксис glob в первом.)

...