在GitLab中链接多个合并请求(Merge Request)

6

有没有一种方法可以在另一个合并请求通过之前锁定一个合并请求的状态?

例如,如果我正在向一个API项目提交API更改,并向一个前端项目提交前端更改,我不希望API更改在前端更改之前或反之亦然通过,并且我希望将它们锁定在一起,这样如果我的合并请求得到批准,应用程序就不会出现问题。 这些完全是不同的项目,但它们彼此依赖。


你可以使用子模块将这两个项目合并在一起。使用子模块,您可以根据提交手动解决依赖关系。这些信息可能有所帮助 - Libin Varghese
给审阅者留个言,怎么样? - Jakub Kania
@LibinVarghese,你说的是Git子模块,对吧?我正在寻找一个基于GitLab的解决方案。 - Michael Davidson
@JakubKania 我已经这样做了,但由于我每天都在两个项目中工作,而且审核人员有时会更改,所以我想要更加确定。 - Michael Davidson
2个回答

5
GitLab在12.2版本中发布了合并请求依赖(作为高级功能),可以解决这个确切的问题。合并请求A可以声明对合并请求B的依赖,这将阻止A被合并,直到B被合并。这适用于跨项目。

我要补充的唯一注意事项是,“查看更改”会显示所有尚未合并的 MR。在这个工作流程中,我可能会错过什么。虽然这是可行的,但仍然很笨拙;我希望能看到更好的支持这种工作流程的方法。 - James Harr

4
我们也时常遇到这个问题。你可以在合并请求标题的开头添加 WIP 来标记前端的合并请求正在进行中。这将防止它被合并。然而,当 API 合并请求合并时,你必须手动删除 WIP。这不是一个优雅的解决方案,但是这是我们想出来的唯一一个解决方案。
编辑:好吧,唯一的解决方案就是不要大喊“伙计,等 Steve 合并了再合并!”

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接