【问题标题】:Retrieve remote Gerrit commit logs using JGit without cloning the repository?使用 JGit 检索远程 Gerrit 提交日志而不克隆存储库?
【发布时间】:2017-06-22 10:45:57
【问题描述】:

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

我知道,如果您将 Gerrit 存储库克隆到您的机器上,您可以从它获取提交。但我感兴趣的是:

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

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

【问题讨论】:

    标签: java commit gerrit jgit


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      2) 是的,您可以使用Get Commit 端点接收提交信息。可用的提交信息显示为here

      【讨论】:

      • 但这使用了我已经实现的 Gerrit REST API。你可以在 jgit 中使用这些 GET 请求吗?据我所知,他们使用不同的方法来获取相同的信息。
      • 更新了问题,让我想知道的更清楚。
      猜你喜欢
      • 2017-12-24
      • 1970-01-01
      • 2015-05-16
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多