2013-01-31 141 views
2

知道如何在Gitolite上使用Google的go language語言獲取命令嗎? 它與谷歌代碼和Github上的偉大工程如下:使用go語言與gitolite

去拿code.google.com/p/go.example/hello

去拿github上。 COM/alphazero/GO-Redis的

但我gitolite訪問看起來更像:

混帳混帳克隆@ mygitolite:myproject的

有什麼建議?

+0

您的gitolite服務器是否也通過http(s)提供服務?我以前沒有用過,但似乎'go get'使用http(s)而不是ssh。假設你可以'git clone http(s):// mygitolite/myproject',你應該可以'去獲得mygitolite/myproject'。 – cjc343

+0

我不太確定它是如何連接的。如果我明確地把https://或ssh://失敗了。它似乎需要git clone git @ myserver:myproject。你知道我可以在這裏找到更多嗎? –

+0

@ cjc343:你可能已經間接地回答了我的問題:http://stackoverflow.com/questions/7543651/git-urls-with-gitolite?rq=1描述gitolite一個類似於我的情景,gitolite似乎在運行沒有git或http(s)服務器。 下一步是安裝一個git守護進程。 –

回答

3

它與gitolite無關。
Gitolite只是一個authorization layer,它將接受或拒絕您的git clone/push/pull命令,具體取決於您的用戶名。

如果你可以聲明一個git repo作爲源代碼,你可以使用它。
Gitolite只會檢查你是誰,但不會影響回購是如何與go一起使用的。


OP Peter Krnjevicrefines the issue

配合去的東西,是它拉回購的名字從目錄結構,所以例如:

~/gocode/src/github.com/me/myproject 

是自動轉換成

git clone github.com/me/myproject. 

但如何才能gitolite名被轉換成路徑?

我不認爲你需要改變什麼:如果走的是能夠聯繫您的git回購(GitHub的或任何其他託管回購服務器),gitolite將截取命令並驗證它(或否認這一點) 。
你可以使用https將gitolite插入到ssh之上或(如go進行git請求的情況)。

但主要的一點是:

  • gitolite是在服務器端
  • ,你應該與Apache服務器(如,例如,with my config),而不是SSH使用它,如果你想輕鬆讓您的回購進入進口。
+0

您的評論重新授權是有道理的:gitolite似乎驗證我的用戶名,我懷疑我有一把鑰匙,雖然我不記得確實。 –

+0

與之相關的事情是,它從目錄結構中提取回購名稱,例如: 〜/ gocode/src/github.com/me/myproject自動轉換爲git clone https://github.com/我/ myproject的。 但是,gitolite名稱如何轉化爲路徑? –

+0

我提高了你的答案,因爲這是有用的信息,但到目前爲止這解決了這個問題。 –

2

我爲這個用例寫了一個工具。看看它是否有幫助。

https://github.com/tuxychandru/gorepos

+0

看起來很有趣。 +1我的答案是更普遍的答案。 – VonC

+0

VonC的答案是添加一個網絡服務器(儘管我認爲git守護進程也應該起作用)通常更有用。 但是,由於與我的git服務器有關的問題,我實際上會使用Chandru的解決方案。我希望我可以選擇兩個答案!感謝大家。 –