How do you set the username that Mercurial uses for commits?

Solution 1:

In your ~/.hgrc (*nix) or mercurial.ini (Windows) file:

[ui]
username = First Last <[email protected]>

(mercurial.ini is in C:\Documents and Settings\[username]\ for XP and lower, C:\Users\[username]\ for Vista and higher. You can also run hgtk userconfig if you have TortoiseHg installed and do it that way.)

Solution 2:

you can specify your username on the command line directly if you want to using --config. eg

hg --config ui.username=frymaster -m "comment here" commit

in fact, you can override anything in your .hgrc with this command. just look at your .hgrc and note the format:

[section]
key=val

that translates directly to

hg --config section.key=val

Solution 3:

Information from here:

Setting up a username

When you try to run hg commit for the first time, it is not guaranteed to succeed. Mercurial records your name and address with each change that you commit, so that you and others will later be able to tell who made each change. Mercurial tries to automatically figure out a sensible username to commit the change with. It will attempt each of the following methods, in order:

  1. 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.
  2. If you have set the HGUSER environment variable, this is checked next.
  3. If you create a file in your home directory called .hgrc, with a username entry, that will be used next. To see what the contents of this file should look like, refer to the section called “Creating a Mercurial configuration file” below.
  4. If you have set the EMAIL environment variable, this will be used next.
  5. Mercurial will query your system to find out your local user name and host name, and construct a username from these components. Since this often results in a username that is not very useful, it will print a warning if it has to do this.

If all of these mechanisms fail, Mercurial will fail, printing an error message. In this case, it will not let you commit until you set up a username.

You should think of the HGUSER environment variable and the -u option to the hg commit command as ways to override Mercurial's default selection of username. For normal use, the simplest and most robust way to set a username for yourself is by creating a .hgrc file; see below for details.

Solution 4:

Here is how my windows /users/xxx/mercurial.ini looks. I don't have to enter username or passwords for anything. Looks like it might be repo specific. I have tortoiseHG installed, not sure if that makes any difference.

[ui]
username=mbroekhuis

[auth]
repo.prefix=http://myrepo
repo.username=mbroekhuis
repo.password=secret

Solution 5:

For anyone trying to use HG workbench

settings

enter image description here

user global settings

enter image description here

Edit File

enter image description here

Save