2012-05-02 61 views
0

我有一個content repository server software,客戶能夠列出/使用自己喜歡的協議讀取/修改文件:FTP/WebDAV的/ CIFS/...除了Git本身,任何實現Git協議的服務器?

我想知道是否實現一個Git接口將使感(我會實現Git協議的服務器端,Git客戶端將連接到它)。

問題:是否有任何實現Git協議的服務器端軟件? (Git server developed by Torvalds除外)?

+0

你的倉庫能夠實現多少Git功能?它會提供什麼好處與Git服務器? – joshp

+0

@joshp:Git的多少功能:基本版本控制,但可能不支持所有功能。與Git服務器相比,它會帶來什麼好處:工作流程 –

回答

2

你幾乎肯定不想自己實現一個git服務器。 Git的設計不適合自由化,因此一直存在的問題是一級庫的git版本尚未可用。

不過,也有多種選擇,取決於你的需要:

  1. libgit2,在一個真正的C的Git庫最近的工作,併爲其他語言
  2. GitPython它的各種綁定,並Python和其他語言的類似的庫git的可執行文件本身
  3. jgit,本地Java實現的Git其包裝

如果你想要做的是爲你的內容提供一個透明的類似git的界面,你需要仔細考慮這意味着什麼以及你想提供什麼。 Git是一個DVCS,因此它保留了所有事物的整個歷史。這意味着您必須保留並提供整個歷史記錄,以便人們可以對您的存儲庫執行任何有用的操作。所以,如果你只是想爲一次性視圖導出數據,這並沒有多大意義。我認爲這種方法最有意義的只有當你實際上將所有在版本控制下存儲的後端數據保存在git中。

最後,請注意,本身沒有'git server'。 Git利用現有的傳輸,如ssh,http等,可以發送簡單的git命令,以發送和檢索數據。

相關問題