获取git标签并从远程服务器提交消息

时间:2019-08-07 05:20:27

标签: python git gerrit

我有以下问题: 我正在处理的项目中的版本控制是通过标签完成的。我想从两个标签之间的所有提交生成版本信息。

  • 提交消息包含我要获取的参考号(例如MT1234或HX1234以及其他几个类型)。
  • 我想要的是git log --pretty=oneline tag1...tag2,但是远程 没有 克隆
  • 我可以通过git repos以及Gerrit访问。

  • 我通过制作一个脚本来解决所有问题,该脚本可以克隆所有存储库,并从克隆的存储库中提取信息。但是,我需要经历许多许多回购,而且回购很大。如果将在可预见的将来使用它,则需要停止克隆。
  • 我已经尝试过使用git archive个单个文件夹/文件,但是它不会复制.git文件夹。当然,除非您知道从.git文件夹获取文件的方法。
  • 我已经尝试过Gerrit API,但无法弄清楚应该如何将两个标签之间的所有提交都作为git log --pretty=oneline tag1...tag2
  • 我想我可以在Gerrit中搜索所有合并的提交,将它们与git ls-remote中的标记/提交进行匹配,并尝试通过查看时间戳来查找中间的提交。它可能会起作用,但是我怕我错过了一些东西。

您对如何在不使用git和Gerrit的情况下不克隆地远程获取git log --pretty=oneline tag1...tag2的等效信息有任何建议吗?

1 个答案:

答案 0 :(得分:0)

您具有对Gerrit服务器的SSH访问吗?您可以执行以下操作:

ssh USER@GERRIT-SERVER git --git-dir=GERRIT-SITE/git/REPO-PATH-NAME log --pretty=oneline TAG1..TAG2