首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Gerrit项目迁移到Gerrit的不同实例中

将Gerrit项目迁移到Gerrit的不同实例中
EN

Stack Overflow用户
提问于 2013-07-25 06:21:18
回答 3查看 10.7K关注 0票数 10

我有MainGerritServer,它承载了许多项目。

此外,我有RogueGerritServer,它也托管了许多项目。

我正在寻找一种将ProjectARogueGerritServer移动到MainGerritServer的方法,同时保存Git提交历史以及Gerrit回顾历史。

例如,我想将Android项目的Gerrit历史导入到我自己的Gerrit服务器上,这样当我使用一个分叉版本的Android时,我可以在我的本地服务器上查找Gerrit历史记录。做这件事最好的方法是什么?

如果这是一个简单的Git安装,我只需将ProjectA克隆到我的计算机中,然后按下MainGerritServer。基于Gerrit的项目是否以同样的方式工作?

我很担心,因为Gerrit安装在后台使用数据库,我不确定是否也需要迁移数据库中的信息。我看到了许多关于将数据库转储并将其移动到全新服务器的线程。但是,我只想移动一个项目,所以使用DB转储似乎不合适。我所看到的最接近的答案是,它仍然不是我想要的。

我很感谢你的帮助,尤其是如果你能告诉我我是否误解了如何处理这个问题的话。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-25 06:53:51

我最近搬了很多git项目,虽然我大部分时间都是从Gerrit搬来搬去的(由于部门法令,Gerrit是个不错的选择,海事组织),这应该是一样的,而且相对容易。然而,移动Gerrit的历史将更加困难。

以下是如何移动回购:

  1. 从当前源克隆项目。
  2. 创建新的gerrit项目。
  3. 在要移动的项目的本地克隆中,将新的项目位置添加为新的远程: git添加NewGerrit ssh://NewGerritServer:29418/NewProject
  4. 推到新的遥控器。要推动整个历史,请做: git推送--全NewGerrit

还可以通过添加-u标志将其设置为自动跟踪新回购:

代码语言:javascript
复制
git push --all -u NewGerrit

迁移Gerrit数据库是一项更大的工作,老实说,我建议您放弃它,除非绝对必要。您可以通过Gerrit自己的(可怕的)查询语言GSQL直接访问数据库,从而了解所涉及的内容。它很像mysql,只是更容易变化无常,而且缺少很多特性。

代码语言:javascript
复制
ssh -p 24981 HOSTNAME gerrit gsql

这将给您一个gsql提示符。试试这个:

代码语言:javascript
复制
gerrit> SHOW TABLES;

这些帽子,至少在我能接触到的Gerrit版本中,是很重要的。(诚然,我的已经过时了。)这将向您展示大约29个表,并且您的项目历史记录遍布其中。

根据这是肖恩·皮尔斯的帖子 (Gerrit ),您需要将数据库复制到一个新的db服务器,然后使用SQL手动删除所有其他项目。然后,您可以转储剩余的数据并将其导入到另一个Gerrit服务器。注意到的警告: change_id值可能会发生冲突。不过,他确实建议在这方面做些工作:

您可以找出输入集的最大change_id,手动将目标服务器的change_id_seq设置为预留足够的id空间,然后将所有旧的change_ids都按某个基值,以便它们位于目标空间中的唯一空间.并最终将行加载到目标。

所以这是可以做到的。这是后半身的疼痛。

票数 13
EN

Stack Overflow用户

发布于 2015-08-26 07:53:18

现在还有一个进口商插件可以用于将git存储库和所有评论从一个服务器迁移到另一个服务器。它适用于Gerrit版本2.11及更高版本。

更多文件:

导入插件可以从(非官方的) CI服务器下载:主版稳定-2.12版本stable-2.11版本。

票数 7
EN

Stack Overflow用户

发布于 2017-08-28 17:03:02

我能够让进口商插件工作,但也不断地出现504个错误。这个插件一次需要500个更改(从GlobalCapability.DEFAULT_MAX_QUERY_LIMIT读取,这是硬编码到500个)。我无法成功地构建插件的稳定-2.13分支,所以我只是重新尝试并重新尝试导入,直到它最终成功。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17850483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档