#mercurial
#mercurial
Вопрос:
Я подумал, что было бы неплохо иметь команду типа «hg ignore», которая автоматически добавляла бы все неотслеживаемые файлы в файл .hgignore.
Ручное редактирование файла .hgignore — это мощное средство, но когда я часто создаю новые репозитории, было бы неплохо иметь возможность добавлять только те файлы, которые я хочу, а затем игнорировать hg, чтобы Mercurial автоматически игнорировал все остальные.
Кто-нибудь знает о каких-либо расширениях, которые делают это?
Ответ №1:
Попробуйте это, как только вы добавите все необходимые файлы:
hg stat --unknown --no-status >> .hgignore
Вы можете создать команду для автоматической генерации вашего, .hgignore
используя псевдоним. В Unix-подобной системе добавьте следующие строки в свой .hg/hgrc
(или один из других конфигурационных файлов Mercurial):
[alias]
ignore = !echo 'syntax: glob' >> $(hg root)/.hgignore amp;amp;
$HG status --unknown --no-status >> $(hg root)/.hgignore
Это выдаст вам hg ignore
команду, которая заполнит .hgignore
файл всеми неизвестными на данный момент файлами, тем самым превратив их в игнорируемые.
В Windows синтаксис псевдонима таков:
[alias]
ignore = !echo syntax: glob > .hgignore amp;amp; "%HG%" status --unknown --no-status -X .hgignore >> .hgignore
В Windows вы должны запустить его в корневом каталоге репозитория, в противном случае файл .hgignore будет создан в текущем каталоге, что, вероятно, не то, что вы хотите.
!
Синтаксис псевдонимов является новым в Mercurial 1.7. В более ранних версиях вы можете добавить
[alias]
ignore = status --unknown --no-status
а затем перенаправьте вывод этой команды в .hgignore
файл самостоятельно:
hg ignore >> .hgignore
Затем вам также нужно будет позаботиться о добавлении syntax: glob
строки, если это необходимо (синтаксис по умолчанию — регулярные выражения).
Комментарии:
1. Спасибо, что работает, хотя было бы неплохо, если бы hg ignore мог делать то же самое.
2. Еще раз спасибо. Я еще не наткнулся на alias’. Отлично!
3. Только что попробовал использовать псевдоним. К сожалению, я на Windows, и псевдоним не работает. Кто-нибудь знает синтаксис псевдонима в Windows?
4. @ACRL: сегодня твой счастливый день. 🙂 Я как раз собирался его добавить.
5. Это действительно потрясающе. Спасибо!