让GitHub和Gerrit友好协作

9

我在GitHub上托管一个私有仓库。我还想使用Gerrit,特别是为了Hudson Gerrit Trigger插件。据我所知,没有任何简单的解决方案可以将它们一起使用。

我需要以下帮助:


我的需求

  • 克隆GitHub仓库并将其添加到Gerrit的项目中:
    1. 手动创建,或者
    2. init期间
  • 使用Gerrit合并GitHub的更改

我尝试过的方法

克隆/添加...

手动创建:我像平常一样克隆了仓库,然后将其添加到H2中:

INSERT INTO projects
(use_contributor_agreements,submit_type,name)
VALUES
('N','M','new/Repo');

init 中:
*** Git Repositories
***

Location of Git repositories   [git]: git@github.com:YourName/Repo.git

我不认为那是正确的。

会发生什么

克隆/添加...

手动方式:

我得到了这个错误: repository not found: Cannot open repository Repo

init期间:

~/gerrit2/git@github.com:YourName/Repo.git创建目录和子目录Repo.git,其中包含一个空的Git repo。并不完全是我想要的。

2个回答

3

虽然我没有亲自尝试过,但你可以使用Gerrit存储库和镜像来将内容复制到GitHub。


1

Gerrit是建立在JGit之上的,而JGit不支持远程GitHub仓库。

JGit本身允许将存储库放在本地(或共享)文件系统上,或通过通用的“DFS”(分布式文件系统)提供程序进行访问。 参考链接:JGit:连接到远程存储库

我写了一篇关于如何使用Gerrit和GitHub的不同策略的文章:http://www.packtpub.com/article/using-gerrit-with-github

简而言之,您可以将三个不同的任务委托给GitHub:

  1. 认证:Gerrit使用OAuth 2.0身份验证API请求GitHub登录
  2. 拉取请求:Gerrit可以获取GitHub拉取请求并将其呈现为Gerrit更改
  3. 复制:Gerrit可以将更改(无论是在审核中还是已合并)推回GitHub

注意:一旦您开始使用Gerrit作为连接到GitHub的网关,您就不应该再直接推送到GitHub,而是依靠拉取请求(导入到Gerrit)或直接推送到Gerrit并通过更改审查进行工作。

如果您想尝试以这种方式集成Gerrit和GitHub,您可以查看http://gerrithub.io,这实际上是一个配置了GitHub插件的Gerrit 2.9-SNAPSHOT。

Luca。


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