mercurialconfighgrc

Can I set Mercurial config options programmatically?


I'm looking for a way to set .hgrc configuration items without actually editing the text file. I'm trying to standardize the setup of the hgrc across multiple developers and I would like a command like

hg --config ui.username=foo

but which also saves that config change into the hgrc file.

It seems like this should be something that should be supported directly in the vanilla hg command, but I can't find it anywhere.


Solution

  • Someone -- either you or Mercurial -- will have to edit the configuration file if you want the config change to be saved :-)

    And if you can call Mercurial with

    hg --config ui.username=foo
    

    then you should also be able to do

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

    which will save the config change, not matter how the ~/.hgrc file happens to look like (it is okay to have multiple [ui] sections).

    Mercurial 3.0 and later has the hg config --edit command that opens an editor with the user config file. Still not quite what you're asking for, but at least this makes it easier to edit the file interactively.