17

我正在寻找一种.hgrc无需实际编辑文本文件即可设置配置项的方法。我正在尝试标准化hgrc跨多个开发人员的设置,我想要一个类似的命令

hg --config ui.username=foo

但这也会将该配置更改保存到hgrc文件中。

看起来这应该是应该在 vanilla hg 命令中直接支持的东西,但我在任何地方都找不到。

4

3 回答 3

10

如果您希望保存配置更改,则必须有人(您或 Mercurial)编辑配置文件 :-)

如果你可以打电话给 Mercurial

hg --config ui.username=foo

那么你也应该能够做到

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

这将保存配置更改,无论~/.hgrc文件看起来如何(可以有多个[ui]部分)。

Mercurial 3.0 及更高版本具有使用用户配置文件打开编辑器hg config --edit命令。仍然不是您所要求的,但至少这使得交互式编辑文件变得更加容易。

于 2011-01-13T12:22:20.110 回答
1

这种形式:

hg --config ui.username=foo

不保存任何东西。它只为一次运行设置值。

/etc/mercurial/hgrc如果有帮助,您也可以用于系统范围的设置。

于 2011-01-11T17:16:26.743 回答
1

有一个扩展可以帮助解决这个问题,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

唯一的问题是这会覆盖内置的配置命令,您可以调整代码以更改命令名称,或者使用它。幸运的是,如果您的用例只是设置和获取特定配置,这可能并不重要。

于 2015-11-04T18:18:02.173 回答