2011-02-13 21 views
2

在我的遠程git服務器上,我有一個預接收掛鉤,它將使用rcleartool的非交互式命令將其簽入(提交)到明文庫中。我所從事的工作基本上就是清除橋樑的一坨屎。不幸的是,這個提交命令需要用戶名和密碼作爲參數。理想情況下,我希望在調用git-push命令時提示客戶端輸入用戶名和密碼,然後將其傳遞到clearcase commit命令中。但是,git-push的文檔聲明我只能將消息回送給客戶端,因此看起來我無法提示用戶輸入。反正有git-push互動嗎?

有沒有人知道解決這個問題的方法?
有沒有人試過讓git-push看起來互動併成功?

任何幫助將不勝感激。

回答

1

沒有交互式git-push,對此沒有簡單的解決方案。
一種可能的方法是在用戶推送和rcleartoolcheckout之間設置一箇中間值。

如果你有gitolite例如,基於該forced command ssh principle,然後你可以使用的中間腳本:

  • 確定誰做推(而不是通過看一個user.name混帳屬性的更多確鑿)
  • 查找存儲相關的密碼(加密後)某處Git的服務器

有了這兩個廣告(如果說定期更改密碼可以是有問題的)上dit信息,Git服務器可以繼續執行rcleartool checkout部分。

+0

嗨VonC,感謝您的快速反饋!我曾考慮將加密的密碼存儲在git服務器的某個地方,但最終,我需要以解密的形式將密碼發送到rcleartool結帳......這是一個安全問題。我不認爲rcleartool接受加密的密碼=(。你也不會知道這個方法嗎?=) – 2011-02-13 20:39:17