2017-06-22 153 views
0

我使用https://github.com/uwolfer/gerrit-rest-java-client使用Gerrits REST API通過使用特定的查詢搜索從存儲庫獲取所有必要的信息,假設您有正確的存儲庫URL和適當的身份驗證,從而獲得具有特定Gerrit存儲庫的最新500次提交的列表。使用JGit檢索遠程Gerrit提交日誌而不克隆存儲庫?

我知道你可以從Gerrit存儲庫獲得提交,如果你已經在你的機器上本地克隆提交。但我感興趣的是:

  1. 您可以獲得相同的信息,而無需使用JGit實際克隆存儲庫到您的機器?
  2. 如果是1.您能否使用此JGit實現直接從Gerrit存儲庫接收提交日誌,還是僅限於Gerrits REST API?

我將使用該方法來存儲提交日誌並將數據編譯爲統計信息,以獲取我可訪問的不同存儲庫的一些概述。

回答

0

使用JGit,您無法在不克隆存儲庫的情況下訪問提交歷史記錄。不僅JGit需要本地存儲庫,Git本身需要本地存儲庫。

使用Git本身,您可以創建一個淺克隆 - 如果適用於您的情況 - 限制歷史記錄的長度並節省一些帶寬。但是,JGit還不支持淺層克隆:Shallow clone with JGIT

0

1)是的,您不需要克隆存儲庫以使用任何可用的REST端點從Gerrit獲取信息。

2)是的,您可以使用端點Get Commit接收提交信息。可用的提交信息顯示爲here

+0

但是,這使用了我已經有了一個實現的Gerrit REST API。你可以用jgit使用這些GET請求嗎?從我所看到的,他們使用不同的方法來獲取相同的信息。 – Noccz

+0

更新了我想知道的更清晰的問題。 – Noccz