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

Kev*_*Won 117 version-control mercurial

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

第一次在机器上使用Mercurial.

添加新的repoz:

c:\bla\>hg add
Run Code Online (Sandbox Code Playgroud)

没问题.

接下来,提交:

c:\bla\hg commit
Run Code Online (Sandbox Code Playgroud)

错误:

abort:没有提供用户名(参见"hg help config")

Kev*_*Won 94

解:

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

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

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

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

[ui]
; editor used to enter commit logs, etc.  Most text editors will work.
editor = notepad
username = userEmail@domain.com
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题.

  • 实际上我的安装目录中也没有Mercurial.ini文件.使用上面的文本在我的存储库的`.hg`文件夹中添加一个名为`hgrc`的文件,允许我提交更改. (4认同)
  • 我的安装目录中没有Mercurial.ini文件(Win 7 64位).我在C:\ Users\Abbas上创建了Mercurial.ini,并复制粘贴了Kevin的[ui]片段,它就像一个魅力.试过菲尔的解决方案,它也有效. (2认同)

Mar*_*ler 51

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

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

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

[ui]
username = Your Name <your@email.com>
Run Code Online (Sandbox Code Playgroud)

现在已经在噪音中丢失了(添加它~/.hgrc,如有必要,创建文件).我为此打开了一个问题.

  • 对我来说最大的问题(以及带给我这个问题的原因)是在快速入门页面上没有提到这一点的事实:http://mercurial.selenic.com/quickstart/#.该页面意味着在没有阅读帮助文本的情况下,遵循说明的基本安装将起作用,并且不会.此时你很紧张,因为你已经认为出了问题 (13认同)
  • 不要故意侮辱,所以请把它作为一种建设性的尝试.当我执行"hg help config"时,在1260行文本中可能会有一个答案打印出标准输出但我真的认为1260行文本过多并且是一个简短明确的答案,即使它发送给我文档会好得多. (8认同)
  • @Martin Geisler:`hg help config`文本没有说明我们需要做什么来解决这个问题,而且路径指向"On Windows"部分并不是特别清楚.`%USERPROFILE%`或`%HOME%`指向哪里?我想在我的系统上任何地方都不存在安装`mercurial.ini`之后没有帮助. (7认同)
  • @TonyGiaccone:回到2010年`hg help config`只打印一个屏幕文本,我确保设置用户名是该文本中的主要示例.从那以后,我们通过在该输出中包含所有配置选项的帮助文本来设法搞砸了:-(我已经为此打开了一个问题:http://mercurial.selenic.com/bts/issue3348 (4认同)

Zam*_*oni 13

在Windows XP上,我没有看到ini文件.使用该命令创建存储库后hg init,我hgrc在文件夹中添加了一个带有名称的文件.hg

具有以下内容:

[ui]  
editor = notepad  
username = zamboni@icemachine.com
Run Code Online (Sandbox Code Playgroud)


小智 9

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

[ui]
username = YOUR NAME <EMAIL@HOST.COM>
verbose = true
Run Code Online (Sandbox Code Playgroud)

保存和"hg commit -m'test'"