Могу ли я установить параметры конфигурации Mercurial программно? - PullRequest
15 голосов
/ 11 января 2011

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

hg --config ui.username=foo

, но она также сохраняет это изменение конфигурации в файл hgrc.

Кажется, что это должно быть что-то, что должно поддерживаться непосредственно в команде vanilla hg, но я нигде не могу его найти.

Ответы [ 3 ]

9 голосов
/ 13 января 2011

Кто-то - вы или Mercurial - должны будут отредактировать файл конфигурации, если вы хотите сохранить изменение конфигурации: -)

И если вы можете позвонить Mercurial с

hg --config ui.username=foo

тогда вы тоже сможете сделать

echo '[ui]' >> ~/.hgrc
echo 'username = foo' >> ~/.hgrc

, который сохранит изменение конфигурации, независимо от того, как выглядит файл ~/.hgrc (допустимо иметь несколько [ui] разделов).

Mercurial 3.0 и более поздние версии имеют команду hg config --edit , которая открывает редактор с файлом конфигурации пользователя. Все еще не совсем то, что вы просите, но по крайней мере это облегчает редактирование файла в интерактивном режиме.

3 голосов
/ 11 января 2011

Эта форма:

hg --config ui.username=foo

Ничего не сохраняет.Он устанавливает значение только для одного запуска.

Также вы можете использовать /etc/mercurial/hgrc для общесистемных настроек, если это поможет.

1 голос
/ 04 ноября 2015

Существует расширение, которое помогает с этим, https://bitbucket.org/alu/hgconfig/wiki/Home

После установки этого hgext вы можете делать такие вещи.

% hg showconfig paths
paths.default=ssh://hg@bitbucket.org/alu/hgconfig
% hg config paths.upstream $(hg showconfig paths.default)
% hg config paths.default $(hg showconfig paths.default | sed 's|/alu/|/nassrat/|')
% hg showconfig paths
paths.default=ssh://hg@bitbucket.org/nassrat/hgconfig
paths.upstream=ssh://hg@bitbucket.org/alu/hgconfig

ЕдинственноеГоча, это переопределяет встроенную команду конфигурации, вы можете либо изменить код, чтобы изменить имя команды, либо жить с ней.К счастью, это, вероятно, не имеет значения, если ваш вариант использования просто установить и получить конкретные конфиги.

...