水银错误:中止没有用户名提供

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]设置

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

  2. 从popup的TortoiseHg菜单中select全局设置

  3. 从界面点击编辑文件

  4. 将[UI]设置添加到最后

[UI]

用户名= YourName

verbose = true

  1. 保存,你就完成了

在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]

    ; 编辑器用来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