2009-09-09 42 views
60

当我犯水银是这样的:如何设置Mercurial用于提交的用户名?

hg commit -m "username question" 

我看到这样的输出:

No username found, using '[email protected]' instead 

ChunkyMonkey是我的Windows机器名和明显WindowsVistaAdmin是,我签署了为这个用户机。

如何将用户名设置为更尊重的内容,或者至少更简洁一些?

回答

95

在你~/.hgrc(* nix中)或mercurial.ini文件(Windows):

[ui] 
username = First Last <[email protected]> 

mercurial.iniC:\Documents and Settings\[username]\ XP和较低,C:\Users\[username]\为Vista和更高您也可以运行hgtk userconfig,如果你有TortoiseHg安装这样做的)

+2

在OSX 10.8,我不得不做出的.hgrc文件自己。 – 2013-06-18 18:53:34

15

信息从here

设置用户名

当您尝试首次为 运行hg commit时,不保证 成功。 Mercurial记录你的名字 和地址与你提交的每个变化 ,以便你和其他人将 以后能够告诉谁做了每个 变更。 Mercurial试图通过 自动找出明智的 用户名来提交更改。它 将尝试以下各 方法,依次是:

  1. 如果指定了-u选项,汞在命令行 commit命令,然后输入用户名,这是 总是给予最高优先。
  2. 如果您已经设置了HGUSER环境变量,那么接下来检查 。
  3. 如果您在主目录中创建一个名为.hgrc的文件,并使用 用户名输入,那么将在接下来使用 。要查看这个 文件的内容应该如何,请参阅下面的名为“创建Mercurial 配置文件”的 一节。
  4. 如果您已经设置了EMAIL环境变量,那么接下来会使用 。
  5. Mercurial将查询您的系统以查找您的本地用户名和 主机名,并从这些组件构建用户名 。由于此 通常会导致用户名 不太有用,因此如果必须这样做,它将打印 警告。

如果所有这些机制的失败, 水银会失败,打印错误 消息。在这种情况下,在您设置 用户名之前,它不会让您提交 。

你应该想到的HGUSER 环境变量和-u选项 到汞的commit命令的方式,用户名 替代水银的默认选择 。对于正常使用,为您自己设置 用户名的最简单也最可靠的方法是创建一个 .hgrc文件;详情见下文。

+7

是否有可能通过存储库设置用户名? – edomaur 2009-09-19 11:06:24

+4

@edomaur,是的,你必须编辑存储库中的'./hg/hgrc'文件,你需要在'[ui]'部分中设置'username = Dev server' – user907860 2013-10-28 14:15:04

+10

Stackoverflow被创建为Google不提供简洁易懂的格式信息。 – 2013-11-28 21:34:34

2

这是我的windows /users/xxx/mercurial.ini的外观。我不必输入任何用户名或密码。看起来它可能是回购特定的。我已经安装了tortoiseHG,不知道这是否有任何区别。

[ui] 
username=mbroekhuis 

[auth] 
repo.prefix=http://myrepo 
repo.username=mbroekhuis 
repo.password=secret 
+1

我不认为在明文中输入密码是个好主意。 – Mo2 2015-04-30 21:16:17

+0

我倾向于同意。你可以省略那部分。 – 2015-08-05 04:06:26

22

如果你想使用--config,你可以在命令行直接指定你的用户名。例如

hg --config ui.username=frymaster -m "comment here" commit 

其实,您可以覆盖在该命令你.hgrc什么。只看你.hgrc并注意格式:

[section] 
key=val 

直接转化为

hg --config section.key=val 
+0

适合将另一个开发人员的更改插入到回购站中! – sage 2015-06-17 19:31:44

+0

为什么可能的原因是这不是在mercurial的文档/帮助?我想我可以做到这一点,但几乎解决思想mercurial只是迟缓,并没有让它,当我没有找到它通过'hg config -h','hg config -h --verbose','hg help配置“,也不在线https://www.selenic.com/mercurial/hg.1.html#config – naki 2016-04-02 21:51:53

+0

哦......没关系。你说'--config'而不是'config':它是其他命令的一个选项,用于命令级覆盖...仍然不是我想要的。 GRRR ....为什么我不能输入'hg config -l ui.username = username for this repo'。这将允许轻松实现身份设置别名:'[别名] identity1 =配置-l ui.username =我的预先写入的用户信息都已准备好被指定用于许多新的克隆的具有各种身份关联的回购站。 – naki 2016-04-02 22:12:05

1

对于任何试图使用HG工作台

设置

enter image description here

用户全局设置

enter image description here

编辑文件

enter image description here

保存