在将我的旧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上的管理员提供提交权限。什么都没有帮助。
感谢您的每一条消息!
答案 0 :(得分:3)
refs / meta / config ref确实仅适用于项目的Gerrit特定设置(包括但不限于访问控制设置)。根据源和目标,迁移它可能有意义也可能没有意义,但您无法通过--mirror
执行此操作,因为这相当于删除和重新创建引用,Gerrit明确禁止删除refs / meta / config。
你可以做的是镜像所有其他引用并手动复制refs / meta / config分支的状态,如果它在那里值得保留。