汞错误: 没有提供用户名就中止

WindowsXP 问题(可能会发生在所有的 Win 安装) ,首次使用 Mercurial。我在一个不明显的地方找到了答案,所以我自己来问/回答这个问题,这样别人就不用像我一样去搜索了。

首次在机器上使用 Mercurial。

添加新的 repoz:

c:\bla\>hg add

没问题。

接下来,提交:

c:\bla\hg commit

错误:

Abort: 没有提供用户名(参见“ hg help config”)

51883 次浏览

解决方案:

在我的 Windows 安装,Mercurial.ini没有得到传播。它还需要一个用户电子邮件添加到它。

Take the default Mercurial.ini file found at in the Mercurial executable install directory (C:\Program Files\Mercurial\Mercurial.ini on my machine) 并将其复制到您的用户主目录(winXP 上的 C:\Documents and Settings\myName)。

On a Windows 7 install there is no default .ini, you will need to create a new one in C:\Users\myName.

那就剪辑一下。Ini 文件。找到这个区域。用户名需要一个电子邮件集。它将是空白的——在这里添加您的电子邮件名称。

[ui]
; editor used to enter commit logs, etc.  Most text editors will work.
editor = notepad
username = userEmail@domain.example

这为我解决了问题。

不好意思,你为什么说这是个问题?Mercurial 要求您查看 hg help config,这个帮助文本显式地告诉您如何添加用户名——我知道,因为我写了这个帮助文本: -)

我们应该如何改进错误消息,使其更加清晰?

然而,我们设法通过使 hg help config包含所有配置设置的帮助来搞砸这一点。下面是一个关于如何设置用户名的小例子:

[ui]
username = Your Name <your@email.example>

现在在噪音中丢失(将其添加到 ~/.hgrc,如果需要,创建文件)。

This is a problem because in the help file the path to the specified config file does not exist, we have to copy the Mercurial.ini from program files directory to USER directory, maybe this is a problem coming from the installer on windows.

@ Kevin Won: 你忘了加一句:

verbose = True

不管是 Windows 还是 Linux,hg 都会在 <repo>/.hg/hgrc文件中查找有效配置。正如“ hg help config”所说,您只需在该文件的末尾添加以下行:

[ui]
username = YOUR NAME <EMAIL@HOST.EXAMPLE>
verbose = true

保存和 hg commit -m 'test'

我也有同样的问题。帮助我的是把 [ui]username = firstname lastname放在 ~/.hgrc文件的不同行上。将这两件事放在一行不起作用,并导致错误。

在 WindowsXP 上我没有看到 ini 文件。 在使用命令 hg init创建存储库之后, 我在文件夹 .hg中添加了一个名为 hgrc的文件

内容如下:

[ui]
editor = notepad
username = zamboni@icemachine.example

这个问题仍然存在。无论您将 mercurial.ini文件放在哪里,它都会被忽略。

在安装过程中没有创建 mercurial.ini文件。我在 Mercurial 安装目录中创建了一个,但是没有效果。我把它复制到 %USERPROFILE%然后是 %HOME%但两个都不能用。

.hgrc放在 HOME 目录中可以工作。

需要修改文档(“ hg help config”)。

下面是我在 Windows XP 上的一个迷人之处:

  1. 假设您已经将 Mercurial 安装到 C:\Program Files\Mercurial\,请转到文件夹 C:\Program Files\Mercurial\hgrc.d
  2. 您应该会在那里看到一个 Mercurial.RC文件。
  3. 将文件复制到 C:\Documents and Settings\ [USERNAME]\
  4. Mercurial.RC重命名为 Mercurial.ini
  5. 像这样编辑[ ui ]部分:
    [ui]
    ; editor used to enter commit logs, etc.  Most text editors will work.
    editor = notepad
    verbose = True
    username = userEmail@domain.example
    

If you are using TortoiseHg, you can add [UI] settings easily

  1. 右键单击任何文件夹资源管理器访问 TortoiseHg菜单。

  2. 从弹出 乌龟菜单中选择 < strong > Global Settings

  3. From the interface click the Edit File

  4. [UI]设置添加到末尾

    [ui]
    username = YourName <YourEmail@SomeAddress.com>
    verbose = true
    
  5. 保存就可以了

Configure you .hgrc like this:

[ui]
username = your name <youremail@host.example>
verbose = True

注意! 不要漏掉 [ui]部分