I want to keep my main .hgrc
in revision control, because I have a fair amount of customization it in, but I want to have different author names depending on which machine I'm using (work, home, &c.).
The way I'd do this in a bash script is to source a host-local bash script that is ignored by Mercurial, but I'm not sure how to do this in the config file format Mercurial uses.
hg/hgrc file. Global configuration like the username setting is typically put into: %USERPROFILE%\mercurial. ini (on Windows)
If you specify a -u option to the hg commit command on the command line, followed by a username, this is always given the highest precedence. If you have set the HGUSER environment variable, this is checked next. If you create a file in your home directory called . hgrc, with a username entry, that will be used next.
You can do this using the not-often-used but been-there-awhile include syntax.
Put your machine specific stuff in your ~/.hgrc
and then include a constant-across-all-systems boilerplate config file. Example:
[ui]
username=You <you@somewhere>
%include .hgrc-boilerplate
Track the .hgrc-boilerplate file in revision control.
See the hgrc man page for more details.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With