You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gerrit同步至GitLab时All-Projects等内置项目同步配置问题

调整后的完整replication.config配置

[gerrit]
    autoReload = true
    replicateOnStartup = true
[remote "GitLab-All-Projects"]
    projects = All-Projects
    projects = All-Users
    url = gitlab@gitlab.local:external-tools/gerrit-${name}.git
    push = +refs/heads/*:refs/heads/*
    push = +refs/tags/*:refs/tags/*
    threads = 3
    mirror = true
[remote "GitLab"]
    projects = ^(?!All-Projects|All-Users).*
    url = gitlab@gitlab.local:${name}.git
    push = +refs/heads/*:refs/heads/*
    push = +refs/tags/*:refs/tags/*
    threads = 3

修改说明

  • 针对GitLab-All-Projects节点的调整:
    1. 新增projects = All-Users配置项,让该节点同时覆盖All-Projects、All-Users两个内置项目
    2. 将固定URL改为变量格式gitlab@gitlab.local:external-tools/gerrit-${name}.git,自动匹配两个内置项目对应的GitLab仓库路径,无需单独为每个内置项目创建独立remote节点
  • 针对GitLab节点的调整:
    新增projects = ^(?!All-Projects|All-Users).*正则过滤规则,通过负向预查逻辑排除两个内置项目,只有普通业务项目才会走该节点的同步逻辑,不会再生成错误的根路径同步任务

生效验证步骤

配置修改保存后,先清理之前遗留的错误pending同步任务:
ssh -p 29418 user@gerrit.local replication cancel All-Projects All-Users
触发全量同步验证:
ssh -p 29418 user@gerrit.local replication start --all
查看replication_log即可看到两个内置项目会走external-tools前缀的路径同步,不会再出现多余的根路径仓库创建报错。

内容的提问来源于stack exchange,提问作者Maciej Szymonowicz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 11:15:03