存储库迁移到Gerrit,git push --mirror返回refs / meta / config(无法删除项目配置)

时间:2014-10-03 08:15:02

标签: git jenkins migration config gerrit

在将我的旧git存储库迁移到我的新Gerrit存储库时,我遇到了一些奇怪的问题。

基本上我做了一个

git clone --mirror ssh:// .... old-repo.git
cd old-repo.git/
git push --mirror ssh:// .... new-gerrit-repo

好吧,现在我第一次收到一些警告:

remote: (W) a01300f: commit message lines >70 characters; manually wrap lines
remote: (W) 8def171: commit subject >65 characters; use shorter first paragraph

我想我可以忽略,因为原始存储库仍然存在作为参考。

我的主要问题是这个错误:

! [remote rejected] refs/meta/config (cannot delete project configuration)
error: failed to push some refs to ssh:// .... new-gerrit-repo

经过一些阅读后我发现,这个refs / meta / config分支只包含Gerrit的一些项目特定规则。它有一些用于参数化Gerrit的配置文件。 (它基本上是Gerrit" General" Tab下的Project Options页面)没有与项目相关的源文件。

有人能帮助我吗?保存忽略此错误并继续迁移吗?

访问推送;读取;为refs / meta / config上的管理员提供提交权限。什么都没有帮助。

感谢您的每一条消息!

1 个答案:

答案 0 :(得分:3)

refs / meta / config ref确实仅适用于项目的Gerrit特定设置(包括但不限于访问控制设置)。根据源和目标,迁移它可能有意义也可能没有意义,但您无法通过--mirror执行此操作,因为这相当于删除和重新创建引用,Gerrit明确禁止删除refs / meta / config。

你可以做的是镜像所有其他引用并手动复制refs / meta / config分支的状态,如果它在那里值得保留。