让GitHub和Gerrit玩得很好

时间:2010-09-15 00:25:48

标签: git repository github gerrit

我在GitHub上托管私人仓库。我还想使用Gerrit,尤其是Hudson Gerrit Trigger plugin。 AFAICT,没有任何简单的解决方案可以将它们一起使用。

我很感激以下任何需求的帮助。


我想要什么

  • 克隆GitHub回购并添加到Gerrit的项目中:
    1. manually
    2. during 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仓库。不完全是我想要的。

2 个答案:

答案 0 :(得分:3)

不要尝试自己,但你可以使用gerrit repo和 mirror 来github

答案 1 :(得分:1)

Gerrit构建于JGit之上,不支持远程GitHub存储库。

JGit本身允许在本地(或共享)文件系统上拥有存储库,或者通过基本的“DFS”(分布式文件系统)提供程序访问它。 参考:JGit : connect to distant repository

我写了一篇关于将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
  4. 注意:一旦你开始使用Gerrit作为GitHub的网关,你不应该再直接推送到GitHub,而是依赖Pull Request(导入到Gerrit)或直接推送到Gerrit并通过改变审查。

    如果你想以这种方式试验Gerrit和GitHub,你可以查看http://gerrithub.io,它本质上是一个Gerrit 2.9-SNAPSHOT,其GitHub插件配置如前。

    卢卡。