在不克隆存储库的情况下使用 JGit 检索远程 Gerrit 提交日志?

Retrieve remote Gerrit commit logs using JGit without cloning the repository?

我实现了使用 https://github.com/uwolfer/gerrit-rest-java-client 获取包含特定 Gerrit 存储库最新 500 次提交的列表的实现,它使用 Gerrits REST API 通过使用特定查询搜索从存储库获取所有必要信息,假设您拥有正确的存储库 URL 和正确的身份验证。

我知道如果您在本地计算机上克隆了 Gerrit 存储库,则可以从该存储库获取提交。但我感兴趣的是:

  1. 您能否在不使用 JGit 将存储库实际克隆到您的计算机的情况下获取相同的信息?
  2. 如果在 1 上是,您能否使用此 JGit 实现直接从 Gerrit 存储库接收提交日志,或者您是否仅限于 Gerrits REST API?

我将使用该方法来存储提交日志并将数据编译成统计信息,以大致了解我有权访问的不同存储库。

1) 是的,您无需克隆存储库即可使用任何可用的 REST 端点从 Gerrit 获取信息。

2) 是的,您可以使用 Get Commit endpoint. The available commit information is showed here.

接收提交信息

使用 JGit 如果不克隆存储库,您将无法访问提交历史记录。不仅仅是 JGit 需要本地存储库,Git 本身也需要本地存储库。

使用 Git 本身,您可以创建一个 浅层克隆 - 如果适用于您的情况 - 以限制历史记录的长度并节省一些带宽。但是,JGit 还不支持浅克隆:Shallow clone with JGIT