2012-06-05 42 views
5

當我嘗試克隆HTTPS驗證的Mercurial庫(例如,從窯),它要求我爲我的用戶名配置汞柱不是命令行詢問用戶名和密碼

C:\temp\test>hg clone https://<my-login-name>.kilnhg.com/Code/Repositories/Group/test 
http authorization required 
realm: kiln 
user: 

我們要從我們與用戶提供的任何URL GUI應用程序調用hg clone命令,並要求對用戶名和密碼的需求用戶,如果需要他們。

如何配置Mercurial以調用返回用戶名/密碼的任意腳本,類似於在Git的環境變量GIT_ASKPASSSSH_ASKPASS中定義路徑的腳本?

回答

8

您可以在用戶範圍hgrcmercurial.ini在用戶配置文件目錄,在Windows上)配置您的憑據:

[auth] 
foo.prefix = example.com/path 
foo.username = user 
foo.password = password 

之後,該服務器將默默地用在hgrc提供的憑據請求文件。

更多信息,請參見docs on hgrc


更新:後學習TortoiseHg源一點點(問題是在sync.pySyncWidget.inclickedSyncWidget.pullclicked方法的代碼),我發現,TortoiseHg,它確實你想正是顯然,首先會嘗試驗證請求的URL,如果已提供,請求用戶輸入登錄名和密碼,重新構建完整的URL(使用憑據)並將其提供給hg pull

我想你可以做同樣的。

+0

你樣本中的'foo'是什麼?問題是,在我們執行任何克隆命令之前,我們應該請求用戶/密碼的詳細信息以將它們存儲在'mercurial.ini'中。是否有可能讓Mercurial根據需要調用腳本 - 類似Git的GIT_ASKPASS或SSH_ASKPASS? – Mot

+0

@MikeL .:'foo'「用於將參數分組到認證條目中」,以引用鏈接的文檔。關於你的問題,我必須管理員,我不完全瞭解你的實際目標。請注意更詳細地描述工作流程?你提到的GUI包裝是什麼?什麼是「用戶可能輸入」的網址? – Helgi

+0

改進了這個問題。 – Mot

5

什麼

hg clone https://user:[email protected]:port 

是這樣的解決方案不是可行的嗎?

+0

沒有,因爲用戶可能會進入一個類似的問題的URL。 – Mot

相關問題