将Gitlab与ReviewBoard集成-文件Blob vs.提交SHA1

9

我正尝试将我们公司一直在使用的Gitlab服务器与一个新的ReviewBoard服务器集成。根据我所阅读到的有关ReviewBoard设置的所有内容,如果仓库有Web前端,则集成类似于Git的存储库最简单的方法是使用“原始文件URL掩码”字段。

幸运的是,Gitlab似乎支持这样的前端,甚至有一个经过充分记录的公共API: https:///api/v2/projects//repository/commits//blob?private_token=&filepath=

在ReviewBoard的存储库设置中,可以指定一个自定义URL,该URL可用于从Git服务器检索单个文件。此URL有两个占位符:

  • {filename} - 文件路径
  • {revision} - 文件blob的sha1

不幸的是,我已经了解到Gitlab的API期望提交的SHA1,而不是单个文件的SHA1,而就我所知,ReviewBoard只发送单个文件的SHA1,而不是提交的SHA1。

  1. 是否有人已经成功地将Gitlab与ReviewBoard集成?如果是,我很愿意听取您的意见。
  2. 是否有人知道另一个可能未记录的API调用,Gitlab支持它使我们能够基于文件blob的SHA1检索文件?
  3. 是否有人知道ReviewBoard中的设置,可以强制其传递提交的SHA1而不是文件blob?
2个回答

5

4
我在reviewboard的谷歌小组上发起了一次讨论(链接),看起来许多Git网页前端之前都缺少能够通过SHA1检索文件的功能,但现在已经在添加。不幸的是,Gitlab在这个功能上落后了,所以他们根本没有它(还没?)但其他人有。
我们找到的解决方案是在同一台主机上安装Gitlab和Gitweb。然后,我们仅需将Review Board指向使用Gitweb API,而我们的开发人员继续使用Gitlab。
需要注意的是,Review Board文档(至少对于版本1.6)关于gitweb的原始文件URL掩码值示例存在错别字。以下是正确的URL格式:
http://servername/?p=relative path to git repo;a=blob_plain;f=<filename>;h=<revision>

在他们的文档中,最后一个参数的名称是hb,但应该是h


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接