2009-09-09 79 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

保存