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

Fl0*_*D3R 7 migration git config gerrit jenkins

在将我的旧git存储库(位于redmine中)迁移到我的新Gerrit存储库时,我遇到了一些奇怪的问题.

基本上我做了一个

git clone --mirror ssh:// .... old-repo.git
cd old-repo.git/
git push --mirror ssh:// .... new-gerrit-repo
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

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

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

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

谢谢你的每一条消息!

Mag*_*äck 4

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

您可以做的是镜像所有其他引用并手动复制 refs/meta/config 分支的状态(如果其中值得保留)。