我正在尝试在Gitlab上设置一些自动棉绒。
我们有一个包含许多Python脚本和Jupyter笔记本的存储库。
我们会定期从master
克隆一个新分支,进行更改,将新的或修改的(或两者)脚本提交到新的远程分支,然后在Gitlab上创建一个合并请求以将文件合并到{ {1}}。
我正在尝试仅在提交时对这些更改过的文件进行梳理,并且仅在强行管线成功之前不希望合并请求(这是我拥有的Gitlab功能)在存储库上启用)。
为此,我需要知道在提交(最好是master
)分支之间更改了哪些文件。
首先,我使用以下命令:master
这是独立于git diff-tree --no-commit-id --name-only -r $CI_COMMIT_SH
分支(例如,它只是列出了作为提交一部分而更改的所有文件。在个人提交时,这非常出色。
但是,我们遇到了以下问题:
因此,现在我采用的方法是尝试比较提交-和作为合并请求的一部分被合并的文件(在Gitlab,master
中可能)-与{{1 }}分支。
我尝试使用on: merge
,但这会返回存储库中的所有文件。
我尝试使用master
来在本地完美运行,但是在Gitlab管道中出现错误git diff master --name-status
。
我在此调用中的语法是否做错了,还是有更好的方法来解决此问题?我正处于尝试手动检索文件大小,然后git diff $CI_COMMIT_REF_NAME..master --name-status
到另一个分支并检索该分支的文件大小以进行比较的阶段……但这是很多工作,同样也很难做到。
预先感谢