如何设置 Mercurial 用于提交的用户名?

当我在 Mercurial 中执行这样的操作时:

hg commit -m "username question"

我看到了这个输出:

No username found, using 'WindowsVistaAdmin@ChunkyMonkey' instead

ChunkyMonkey是我的 Windows 机器名,显然 WindowsVistaAdmin是我在这台机器上登录的用户。

我怎样才能把用户名设置得更体面一些,或者至少更简洁一些呢?

75933 次浏览

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

[ui]
username = First Last <email@address.com>

(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.)

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.

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

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

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