合并上一个合并请求时,是否可以将审批保留在堆叠的合并请求中

  • 本文关键字:合并 请求 保留 上一个 是否 gitlab
  • 更新时间 :
  • 英文 :


假设我有一个合并请求(MR)链(或堆栈),如下所示。。。

  • MR1–分支机构B至分支机构A
  • MR2–分支机构C至分支机构B

。。。并且这两个MR都经过了审查和批准。

当我合并MR1时,分支B被删除,GitLab足够聪明,可以将MR2的目标分支从分支B更改为分支A。这很好,也是我所期望的。

然而,遗憾的是,它删除了MR2的批准,这意味着我必须回去要求对MR2进行另一次审查。(项目审批规则要求MR至少有一次审批。)

GitLab中是否有一个设置,当目标分支自动更改时,该设置将保留MR上的批准,如上述场景所述?

当源(或目标)分支发生更改时,有一个审批设置可以删除审批。由于您的目标分支在这种情况下发生了更改,因此这很可能是导致您描述的行为的设置。

应用此设置时,目标分支的更改方式/原因没有特殊情况或考虑因素。例如,手动更改目标分支与由于合并/删除分支而自动更改目标分支之间没有区别——在这两种情况下,此设置都将删除现有审批。

为了避免这种审批问题,您可以:

  1. 禁用该审批设置OR
  2. 将两个合并请求的目标都设置为分支A,以便在合并MR1并删除分支B时,MR2的目标分支不会发生更改

当前,GitLab中没有设置,当合并上一个合并请求(我们称之为MR1)并且MR2的目标分支自动更改为MR1的目标分支时,它会将批准保留在堆叠的合并请求中(我们称其为MR2),因为MR1的源分支作为MR1合并的一部分被删除。

我已经在这里的GitLab项目中为此创建了一个功能请求。如果你觉得这个功能对有用,请投赞成票

特别感谢systech在他/她的回答中提供的帮助