我正在寻找一种方法来设置.hgrc
配置项而不实际编辑文本文件。我正试图在多个开发人员之间标准化hgrc
的设置,我想要一个像
hg --config ui.username=foo
但也将配置更改保存到hgrc
文件中。
看起来这应该是应该直接在vanilla hg命令中支持的东西,但我无法在任何地方找到它。
答案 0 :(得分:10)
如果您想要保存配置更改,有人 - 无论是您还是Mercurial - 都必须编辑配置文件: - )
如果你可以用
打电话给Mercurialhg --config ui.username=foo
那么你也应该能够做到
echo '[ui]' >> ~/.hgrc
echo 'username = foo' >> ~/.hgrc
这将保存配置更改,无论~/.hgrc
文件的外观如何(可以有多个[ui]
部分)。
Mercurial 3.0及更高版本具有the hg config --edit
command,可以使用用户配置文件打开编辑器。仍然不是你要求的,但至少这样可以更容易地以交互方式编辑文件。
答案 1 :(得分:2)
此表格:
hg --config ui.username=foo
不保存任何东西。它只设置一次运行的值。
如果有任何帮助,您也可以使用/etc/mercurial/hgrc
进行系统范围的设置。
答案 2 :(得分:1)
有一个有助于此的扩展,https://bitbucket.org/alu/hgconfig/wiki/Home
在installing that 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
唯一的问题是这会覆盖builtin config命令,您可以调整代码来更改命令名称,也可以使用它。幸运的是,如果您的用例只是设置并获得特定的配置,那可能无关紧要。