如何使用新的补丁集在Gerrit中保留批准

问题描述 投票:0回答:2

我正在为团队设置Gerrit服务器。我过去使用过Gerrit,但从未设置过。

我过去知道的一个功能是,一旦获得CL批准,就可以在不失去批准的情况下重新建立分支基础。我认为这是某处的设置,但找不到。

gerrit
2个回答
0
投票

您需要将存储库的“提交类型”(在存储库配置页面中)设置为以下之一:

必要时重新设置基数

如果提交的更改是目标分支的严格超集,则该分支将快速转发到该更改。如果不是,则更改将自动重新设置基础,然后将分支快速转发到更改。

当Gerrit尝试进行合并时,默认情况下,只有在没有路径冲突的情况下,合并才会成功。当在合并的另一端也更改了同一文件时,将发生路径冲突。

始终重置

[基本上,与必要时进行重新设置相同,但是即使可以进行快速转发,它也会创建新的补丁集,并且像Cherry Pick这样,它可以确保页脚(如Change-Id,Reviewed-On等)存在于合并的结果提交中。

因此,Rebase Always可以被视为类似于Cherry Pick,但重要的区别在于Rebase Always不会忽略依赖项。

请参阅Gerrit文档here中的更多详细信息。


0
投票

我认为您正在寻找Copy All Score On Trivial Rebase标签。

下面的示例来自我们的project.config。对于Verified标签,如果存在琐碎的基准或添加了“无代码更改”补丁集,则分数将被复制,“无代码更改”基本上意味着更新的提交消息。

[label "Verified"]
    function = MaxWithBlock
    value = -1 Fails
    value =  0 No score
    value = +1 Verified
    copyAllScoresIfNoCodeChange = true
    copyAllScoresOnTrivialRebase = true
    defaultValue = 0
© www.soinside.com 2019 - 2024. All rights reserved.