2013-04-05 422 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/