WindowsXP上的问题(可能会在所有Win安装上发生),第一次使用Mercurial。我在一个不明显的地方找到答案,所以我自己要问/回答这个问题,所以其他人不必像我那样搜索。
首次在机器上使用Mercurial。
添加新的repoz:
c:\bla\>hg add
没问题。
接下来,提交:
c:\bla\hg commit
错误:
中止:未提供用户名(请参阅“hg help config”)
答案 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]设置
右键单击任何文件夹资源管理器以访问 TortoiseHg 菜单。
从弹出 TortoiseHg 菜单中选择全局设置
在界面中点击修改文件
将[UI]设置添加到结尾
[UI]
username = YourName
verbose = true
答案 5 :(得分:3)
在Windows XP上,这对我来说就像是一种魅力:
C:\Program Files\Mercurial\hgrc.d
,请转到C:\Program Files\Mercurial\
文件夹。Mercurial.RC
文件。C:\Documents and Settings\ [USERNAME]\
Mercurial.RC
重命名为Mercurial.ini
。像这样编辑[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