HGRCPATH Mercurial переопределяет пользовательский уровень .hgrc или файл конфигурации уровня установки? - PullRequest
4 голосов
/ 02 апреля 2011

Мое понимание: Mercurial имеет три уровня конфигурационных файлов: один для всех пользователей (уровень установки), один для каждого пользователя (уровень пользователя) и один для каждого репозитория (уровень репо).

По-видимому, переменная среды HGRCPATH переопределяет второй уровень, который находится в каталоге users/<user> в Windows.

Однако на экране настроек TortoiseHG он ссылается на (и позволяетпрямое редактирование) файла конфигурации на уровне пользователя в каталоге users/<user> , даже если он переопределен HGRCPATH.Быстрые эксперименты показали, что TortoiseHG действительно использует набор, заданный HGRCPATH, а не тот, который он указывает.

Это ошибка с Tortoise или мое понимание HGRCPATH неверно?

Ответы [ 2 ]

4 голосов
/ 06 апреля 2011

Да, это должно быть недостаток в TortoiseHg. Текст справки hg help environment говорит о том, что HGRCPATH используется для переопределения пути поиска по умолчанию для файлов конфигурации. Это включает ~/.hgrc и позволяет быстро отключить пользовательские настройки:

$ HGRCPATH= hg log  # <- only read .hg/hgrc, ignore all other config files

Вы не можете заставить Mercurial пропустить чтение .hg/hgrc.

3 голосов
/ 02 апреля 2011

Описание на man-странице Mercurial звучит так, будто если установлен HGRCPATH, то и общесистемный файл (/etc/mercurial/hgrc в linux), и файл для пользователя игнорируются, но файл $(hg root)/.hg/hgrc по-прежнему используется. Это был мой опыт вне черепахи.

Я бы не ожидал, что графический интерфейс tortoisehg не будет показывать команды hgrc, которые он не вызывает, просто чтобы не принимать их настройки. Это то, что вы видите?

http://www.selenic.com/mercurial/hg.1.html

...