2013-04-05 425 views
1

我想在我正在开发的项目中引入Gerrit。从现有的git仓库创建新的Gerrit项目

目前我们已经有一个git仓库,其上提交了一些代码。

如下我初始化项目:

  1. Java的罐子格里特 - 全2.5.2.war初始化--batch -d格里特 - 代码审查
  2. CD格里特 - 代码审查/ git的
  3. 混帐克隆--mirror [email protected]:我-repo.git

然后,我把创建用户和添加权限的照顾。

我可以看到正在进行的更改,我可以查看/发布它们。不幸的是,最后的“git push”(应该由Gerrit执行)不会发生。 如果我手动在“gerrit-codereview/git/my-repo.git”文件夹中执行“git push”,那么一切正常。

有什么想法?

+0

一个解决方法是使用复制插件[链接] (https://review.typo3.org/plugins/replication/Documentation/config.html)(注意复制品ion.jar在WEB-INF/plugins下的战争中。 – 2013-04-05 13:48:50

+0

提前进入。是否有可能上面的唯一方法是? – 2013-04-05 13:49:19

回答

2

Gerrit目前不支持将外部存储库作为主引用。您可以使用复制插件(与Gerrit一起提供)将其推送到外部存储库,但如果在上游进行更改,则不会处理合并冲突。这是一个通常要求的功能。更多信息,请How to update gerrit repos with changes submitted directly to git?

+0

嗨,谢谢布拉德。在Gerrit准备就绪后,没有人会允许将东西直接推送到_upstream_ git,所以希望我们应该能够避免冲突。 是否公平地说,即使我将Gerrit _master_ repo初始化为_upstream_之一的镜像,现在唯一一种将更改集推送到它的方法是通过_replication plugin_? – 2013-04-05 14:38:36

+0

嗨Giovanni,更正Gerrit推送更改的唯一方法是使用复制插件(或使用其他自定义脚本)。如果你不需要担心冲突,这是一个完美的解决方案。 – Brad 2013-04-05 15:41:34

+0

感谢您的回答@Brad! – 2013-04-08 10:36:02

0

为自己的最好的办法是:

  1. 创建与相同的名称,原来的
  2. 混帐克隆--mirror格里特工程“项目要克隆”
  3. mv“您克隆的”.git“您的Gerrit安装项目”/ git/

下面是一个示例。我想克隆覆盆子Linux内核,并找到它作为格里特

  1. 创建RPI/Linux项目格里特项目RPI/Linux的
  2. RM -r “你格里特安装” /git/rpi/linux.git
  3. 混帐克隆--mirror [email protected]:树莓派/ linux.git
  4. MV linux.git “你格里特安装”/混帐/ RPI/