Сделать .hgignore в репозитории Mercurial доступным для всех подпунктов? - PullRequest
5 голосов
/ 17 октября 2011

У меня есть хранилище Mercurial с несколькими подпунктами.Есть ли возможность определять только общий .hgignore-файл (например, игнорировать объектные файлы) как в основном репозитории, так и, необязательно, в специализированном репозитории?

Недостаточно информации вруководство.Указание файла .hgignore с

[ui]
ignore = .hgignore

в .hgrc в моем домашнем каталоге также не работает.

Есть идеи?

1 Ответ

3 голосов
/ 17 октября 2011
Файл

A .hgignore в каждом вложенном репо будет специализированным для этого вложенного репо.Тогда вы можете использовать .hgignore основного репо в качестве основного, включив его в hgrc файл каждого репо:

[ui]
ignore.main = \absolute\path\to\mainrepo\.hgignore

Причина, по которой выполнение ignore = .hgignore не сработало для вас в вашем глобальном.hgrc (и не будет в репо hgrc) заключается в том, что просто .hgignore является относительным путем к файлу, а его разрешение в абсолютном пути зависит от текущего рабочего каталога, используемого при вызове hg.Примеры:

  • Если вы находитесь в \repos\main\ и вызываете hg st, он будет искать \repos\main\.hgignore.То же самое, если вы вызываете hg st -R nested, потому что текущий рабочий каталог все тот же.
  • Но если бы вы были в \repos\main\nested\, а затем вызвали hg st, конфигурация теперь смотрела бы на \repos\main\nested\.hgignore.

Если вы хотите указать глобальный .hgignore, который находится в вашем домашнем каталоге, вам нужно будет указать его с не относительным путем (или, по крайней мере, гораздо менее относительным):

[ui]
ignore = ~\.hgignore
...