Pagure是一個用Python編寫的新的、功能齊全的、提供 Web 服務的 Git倉庫。它類似於Github 和 Gitlab ,同時允許開源貢獻者分享彼此的資源,實現程式碼和內容上的合作。順便說一句, Pagure 法語譯為“寄居蟹”,在專案文字的 LOGO 上容易發現這一點哦。
Pagure 是 Fedora Engineering 團隊成員—— Pierre-Yves Chibon 的心血結晶。 FedoraEngineering 團隊專注於基於 Python 的解決方案,因為 Python 簡單易學,從而降低了貢獻者的入門門檻。因此 Pagure 不僅提供了專案託管服務,同時也鼓勵新人維護並改進這個服務。
Facebook 、 Google 等公司已經表明: Python 是可以做到高效能的。 Pagure 也不例外,它給 Web 使用者提供了不錯的體驗。你可以看到數十個高度活躍的專案已經被託管到 Pagure 上了,當然 Pagure 本身的程式碼也託管到上面。
Pagure 的功能
Pagure 提供了類似 Git 程式提供的很多功能:
- 使用者,群組,專案庫和克隆服務的自助建立。
- 支援 HTTPS 和 SSH 訪問程式碼倉庫。
- 支援多認證登入,可以通過 Pagure 像 Ipsilon 這樣提供 OpenID 的外部認證登入。所以你可以連結 Pagure 到 LDAP 、系統賬號或者其他的賬戶。
- pull 請求基於工作流,有完整的討論和評價。
- Web 介面提供文字編輯器。
- 能夠執行 signoffs 和對 pull 請求進行評價打分。
- 問題跟蹤,文件和版本管理。
- 對倉庫活動提供郵件提醒服務。
- 支援不同 Pagure 例項的同步。
- 完全的自由、免費。
- 還有……很多很多…….
不僅如此,Pagure 在內部還提供以下額外的功能:
- 所以的問題和 pull 請求的追蹤後設資料是作為側倉庫來提供可追蹤性和可移植性的。
- Web 資料夾和專案線上管理中將文件作為側倉庫進行管理。
- 每個專案可以選擇完全可擴充套件的 web-hooks 系統。
託管自己的 Git 專案
Pagure 擁有允許使用者建立自己的託管服務專案的能力。這項服務是低開銷的並依賴於其他自由軟體的,這些自由軟體你可以在 Fedora 和其他發行版中找到。該 專案文件可以幫助你開始部署 Pagure ,你可以使用普通工具從基於 RPM 的發行版中安裝或者使用原始碼部署 Pagure ,兩種方法文件中都提供了。
Pagure 已經在 Fedora 中用於生產幾個月了。然而,一個重要的里程碑才剛剛出現:1.0版本的釋出。第一個主要版本提供了全新的使用者介面。感謝 Fedora Engineering 團隊的設計師( Ryan Lerch )進行的全新設計。
Pagure 的使用方式同 Github 等同類系統沒有太大的區別。Pagure 假設專案是協作的,所以它們沒有名稱空間。拷貝,卻在另一方面是存在名稱空間的,這使得上游的倉庫清楚明瞭。雖然拷貝一個上游倉庫的方法有些不同。但是 pull 請求的方法是相同的。因此其它 Git 系統的使用者立刻上手 Pagure是沒有問題的。
Pagure 的未來
Pagure 的發展仍在繼續,很多人都在進行修復和完善。未來可能會新增以下的一些功能:
- 自定義主題。
- 同步如 Github 等其它服務商倉庫。
- 支援個人專案的名稱空間。
- 支援如 Mailman 3 之類的郵件列表。
對有一點 Python 基礎的人來說,Pagure 的程式碼是十分容易理解的。貢獻者歡迎大家檢視問題清單並參與到專案中。為了修復一個 bug ,你可以拷貝 Pagure 的程式碼,克隆到自己的倉庫中,提交和推送修復補丁,並提交一個 Pagure 的 pull 請求。