水银错误:中止没有用户名提供
WindowsXP上的问题(可能会发生在所有的Win安装),第一次使用Mercurial。 我在不明显的地方find答案,所以我自己问/回答这个问题,所以别人不必像我那样search。
第一次在机器上使用Mercurial。
添加新的repoz:
c:\bla\>hg add
没问题。
接下来,提交:
c:\bla\hg commit
错误:
中止:没有提供用户名(参见“hg help config”)
解:
在我的Windows安装上, Mercurial.ini
没有得到传播。 它还需要添加一个用户电子邮件。
在Mercurial可执行文件安装目录(我的机器上的C:\Program Files\Mercurial\Mercurial.ini
)中find默认的Mercurial.ini
文件,并将其复制到您的用户主目录( C:\Documents and Settings\myName
on winXP )。
在Windows 7安装中没有默认的.ini,您将需要在C:\Users\myName
创build一个新的。
然后编辑.ini文件。 find这个区域。 用户名需要一个电子邮件集。 它将是空白的 – 在这里添加您的电子邮件名称。
[ui] ; editor used to enter commit logs, etc. Most text editors will work. editor = notepad username = userEmail@domain.com
这为我解决了这个问题。
我很抱歉,但你为什么称这是一个问题? Mercurial要求你看到hg help config
,这个帮助文本明确地告诉你如何添加一个用户名 – 我知道,因为我写了帮助文本:-)
我们应该如何改进错误信息以使其更清楚?
编辑:自从我在2010年写了这个,我们已经设法通过使所有configuration设置的hg help config
帮助包括帮助。 所以,如何设置用户名的一个很好的例子:
[ui] username = Your Name <your@email.com>
现在已经丢失了噪声(把这个添加到~/.hgrc
,如果需要的话创build文件)。 我已经为此打开了一个问题 。
在Windows XP上,我看不到一个ini文件。 使用命令hg init
创build存储库之后,我将一个名为hgrc
的文件hgrc
到.hg
文件夹中
具有以下内容:
[ui] editor = notepad username = zamboni@icemachine.com
无论是Windows还是Linux,hg都会查看“/.hg/hgrc”文件来进行有效configuration。 正如在“hg help config”中所说的那样,你只需要在该文件的末尾添加以下几行:
[ui] username = YOUR NAME <EMAIL@HOST.COM> verbose = true
保存和“hg commit -m'test'”
如果您使用的是TortoiseHg,则可以轻松添加[UI]设置
-
右键单击任何文件夹资源pipe理器以访问TortoiseHg菜单。
-
从popup的TortoiseHg菜单中select全局设置
-
从界面点击编辑文件
-
将[UI]设置添加到最后
[UI]
用户名= YourName
verbose = true
- 保存,你就完成了
在Windows XP上,这就是我的魅力所在:
- 假设您已将Mercurial安装到
C:\Program Files\Mercurial\
转到文件夹C:\Program Files\Mercurial\hgrc.d
- 你应该在那里看到一个
Mercurial.RC
文件。 - 将文件复制到
C:\Documents and Settings\ [USERNAME]\
- 将
Mercurial.RC
重命名为Mercurial.ini
。 -
像这样编辑[ui]部分:
[UI]
; 编辑器用来input提交日志等大多数文本编辑器将工作。
编辑=记事本
verbose = True
用户名= userEmail@domain.com
我有同样的问题。 帮助我的是在~/.hgrc
文件的单独行上放置[ui]
和username = firstname lastname
。 把这两件事放在一条线上是行不通的,导致了错误。
这个问题依然存在。 无论你放在哪里, mercurial.ini
文件都会被忽略。
安装期间不会创buildmercurial.ini
文件。 我在Mercurial安装目录中创build了一个,但没有任何效果。 我将它复制到%USERPROFILE%
,然后复制到%HOME%
,但都没有工作。
将.hgrc
放在HOME目录中。
文档(“hg help config”)需要修复。
像这样configuration你的.hgrc文件:
[ui] username = your name <youremail@host.com> verbose = True
注意!! 不要忽略[ui]部分
这是一个问题,因为在帮助文件中指定的configuration文件的path不存在,我们必须将Mercurial.ini
从程序文件目录复制到USER目录,也许这是安装程序在Windows上产生的一个问题。
@Kevin Won:你忘了添加一行:
verbose = True