Mercurial错误:中止没有提供的用户名

时间:2010-02-24 19:56:05

标签: mercurial version-control

WindowsXP上的问题(可能会在所有Win安装上发生),第一次使用Mercurial。我在一个不明显的地方找到答案,所以我自己要问/回答这个问题,所以其他人不必像我那样搜索。

首次在机器上使用Mercurial。

添加新的repoz:

c:\bla\>hg add

没问题。

接下来,提交:

c:\bla\hg commit

错误:

中止:未提供用户名(请参阅“hg help config”)

10 个答案:

答案 0 :(得分:94)

解决方案:

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

获取Mercurial可执行文件安装目录(我的机器上的Mercurial.ini)中找到的默认C:\Program Files\Mercurial\Mercurial.ini文件 并将其复制到您的用户主目录(winXP上的C:\Documents and Settings\myName)。

在Windows 7安装中没有默认的.ini,您需要在C:\Users\myName中创建一个新的。

然后编辑该.ini文件。找到这个区域。用户名需要一个电子邮件集。它将是空白的 - 在此处添加您的电子邮件名称。

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

这解决了我的问题。

答案 1 :(得分:51)

对不起,你为什么称这个为问题? Mercurial要求您查看hg help config,此帮助文本明确告诉您如何添加用户名 - 我知道,因为我写了帮助文本: - )

我们应该如何改进错误信息以使其更清晰?

编辑:自从我在2010年写了这篇文章以来,我们通过为所有配置设置hg help config包含帮助来解决这个问题。所以如何设置用户名的好例子是:

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

现在在噪音中丢失(将其添加到~/.hgrc,必要时创建文件)。我为此打开了an issue

答案 2 :(得分:13)

在Windows XP上,我没有看到ini文件。 使用命令hg init创建存储库后, 我将名为hgrc的文件添加到文件夹.hg

具有以下内容:

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

答案 3 :(得分:9)

无论是windows还是linux,hg都会查看“/.hg/hgrc”文件以获取有效配置。正如在“hg help config”中所说,您只需在该文件的末尾添加以下行:

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

保存并“hg commit -m'test'”

答案 4 :(得分:4)

如果您使用的是TortoiseHg,则可以轻松添加[UI]设置

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

  2. 从弹出 TortoiseHg 菜单中选择全局设置

  3. 在界面中点击修改文件

  4. 将[UI]设置添加到结尾

  5. [UI]

    username = YourName

    verbose = true

    1. 保存并完成

答案 5 :(得分:3)

在Windows XP上,这对我来说就像是一种魅力:

  1. 假设您已将Mercurial安装到C:\Program Files\Mercurial\hgrc.d,请转到C:\Program Files\Mercurial\文件夹。
  2. 您应该在其中看到Mercurial.RC文件。
  3. 将文件复制到C:\Documents and Settings\ [USERNAME]\
  4. Mercurial.RC重命名为Mercurial.ini
  5. 像这样编辑[ui]部分:

    [UI]

    编辑器用于输入提交日志等。大多数文本编辑器都可以工作。

    editor = notepad

    verbose = True

    username = userEmail@domain.com

答案 6 :(得分:1)

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

答案 7 :(得分:1)

此问题仍然存在。无论你把它放在哪里,mercurial.ini文件都会被忽略。

安装期间未创建mercurial.ini个文件。我在Mercurial安装目录中创建了一个,但它没有任何效果。我将其复制到%USERPROFILE%然后再复制到%HOME%,但都没有。

.hgrc放在HOME目录中。

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

答案 8 :(得分:1)

像这样配置.hgrc:

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

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

答案 9 :(得分:0)

这是一个问题,因为在帮助文件中指定的配置文件的路径不存在,我们必须将Mercurial.ini从程序文件目录复制到USER目录,这可能是来自安装程序的问题在窗户上。

@Kevin Won:你忘了添加这一行:

verbose = True