我无法在 Gerrit 上创建远程分支。项目配置如下
Reference:
refs/heads/*
Create Reference
Owners
Reference
refs/heads/work_*
Create Reference
Owners
Developers
我正在尝试通过从 git 推送来创建分支:
git push origin refs/heads/work_foo
但是我收到错误 403 权限被拒绝。
如果允许
Developers
创建引用,为什么我不允许这样做?
如果我这样的话它确实有效:
refs/heads/work/*
但由于其他原因,我不能在分支名称中使用斜杠,因此我想保留
work_*
模式。
还可以通过在引用名称前添加 ^ 来使用正则表达式来描述引用名称。例如 ^refs/heads/[a-z]{1,8} 匹配长度在 1 到 8 个字符之间的所有小写分支名称。在正则表达式内。是匹配任何字符的通配符,但可以转义为 .. dk.brics.automaton 库用于评估正则表达式访问控制规则。有关此特定正则表达式风格的详细信息,请参阅库文档。一个怪癖是,最短的可能模式扩展必须是有效的引用名称:因此 ^refs/heads/.*/name 将失败,因为 refs/heads//name 不是有效的引用,而是 ^refs/heads/.+/名字会起作用。
所以,你应该以正则表达式的形式指定它:
Reference
^refs/heads/work_.*