2010-02-26 5 views
0

Возможно ли, используя glob синтаксис файла .hgignore, чтобы рекурсивно игнорировать определенные файлы и папки, кроме одного?О файле Mercurial, файле .hgignore и glob

Если предположить, что у вас есть:

a/ 
a/b 
a/c 
a/d 

Что-то вроде:

syntax globe: 
a 
^a/b 

Это должно идеально игнорировать C и д и держать б.

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

+0

Почему вы не можете использовать синтаксис регулярных выражений? Было бы намного проще. – dalloliogm

ответ

2

Синтаксис glob преобразуется в regex в match.py. Кажется, что это синтаксис вы ищете:

syntax:glob 

a/*[!b] 
+0

В этом примере работает плавник, но, видимо, не с вложенными подпапками (в моем реальном репо мне нужно пропустить что-то вроде/* [! B/sub/subsub]). Я пытался избежать косой черты в нескольких режимах, но это не помогло. Любое предложение? –

+0

Принимается как лучший ответ до сих пор :) –

3

Если вы хотите игнорировать все, кроме одного, только добавить, что один. Добавление файла переопределяет его игнорирование, которое отличается от subversion или cvs, но невероятно удобно.

+0

Я бы предпочел избежать этой процедуры. Это склонно к ошибкам, и я обычно забываю добавлять файлы в hg после создания их большого количества. –

+0

@ Roberto Aloi, чем все исполняемые файлы и другие сгенерированные файлы загромождают ваши коммиты. Я бы предпочел добавлять новые файлы, а не удалять все ненужные вещи каждый раз. – Joschua

 Смежные вопросы

  • Нет связанных вопросов^_^