当我在Mercurial中犯下这样的东西时:
hg commit -m "username question"
我看到了这个输出:
No username found, using 'WindowsVistaAdmin@ChunkyMonkey' instead
ChunkyMonkey
是我的Windows计算机名称,显然WindowsVistaAdmin
是我在此计算机上登录的用户。
如何将用户名设置为更受尊重的用户名,或者至少更简洁?
答案 0 :(得分:110)
在~/.hgrc
(* nix)或mercurial.ini
(Windows)文件中:
[ui]
username = First Last <email@address.com>
(对于XP,mercurial.ini
为C:\Documents and Settings\[username]\
,对于Vista及更高版本为C:\Users\[username]\
。如果安装了TortoiseHg,也可以运行hgtk userconfig
并以此方式执行。)
答案 1 :(得分:26)
如果要使用--config,可以直接在命令行上指定用户名。例如
hg --config ui.username=frymaster -m "comment here" commit
实际上,您可以使用此命令覆盖.hgrc中的任何内容。只需看看你的.hgrc并注意格式:
[section]
key=val
直接翻译为
hg --config section.key=val
答案 2 :(得分:15)
来自here的信息:
设置用户名
当你尝试运行hg commit时 第一次,它不能保证 成功。 Mercurial记录了你的名字 并解决您的每一项变化 承诺,以便你和其他人愿意 以后能够告诉谁制作了每个 更改。 Mercurial试图 自动找出一个明智的 用于提交更改的用户名。它 将尝试以下各项 方法,按顺序:
- 如果在命令上为hg commit命令指定-u选项 行,后跟用户名,这是 总是给予最高优先权。
- 如果您已设置HGUSER环境变量,则会选中此项 下。
- 如果您在主目录中创建名为.hgrc的文件,请使用 用户名条目,将被使用 下一个。看看这个内容是什么 文件应该看起来像,参考 一节名为“创造一个Mercurial 配置文件“下面。
- 如果您已设置EMAIL环境变量,那么这将是 接下来使用。
- Mercurial将查询您的系统以找出您的本地用户名和 主机名,并构造用户名 从这些组件。从此 通常会产生一个用户名 不是很有用,它会打印一个 警告是否必须这样做。
醇>如果所有这些机制都失败了, Mercurial将失败,打印错误 信息。在这种情况下,它不会让 你提交,直到你建立一个 用户名。
你应该想到HGUSER 环境变量和-u选项 以hg commit命令的方式 覆盖Mercurial的默认选择 用户名。对于正常使用, 设置一个最简单,最健壮的方法 自己的用户名是创建一个 .hgrc文件;请参阅下面的详细信息。
答案 3 :(得分:2)
以下是我的windows /users/xxx/mercurial.ini的外观。我不必为任何东西输入用户名或密码。看起来它可能是repo特定的。我安装了tortoiseHG,不确定是否有任何区别。
[ui]
username=mbroekhuis
[auth]
repo.prefix=http://myrepo
repo.username=mbroekhuis
repo.password=secret
答案 4 :(得分:1)