繁体   English   中英

Git / Gerrit Jenkins持续集成:如何处理rebase需求

[英]Git/Gerrit Jenkins Continous Integration: How to handle rebase needs

我有一个关于持续与Jenkins for Git / Gerrit集成的问题:在等待期间接受由于之前的更改导致Git更改需要rebase / merge时,有没有办法取消Jenkins作业执行?

最好的祝福,

经过调查,我发现了一种检测潜在合并冲突的方法。 基于Windows的shell脚本如下所示:

git fetch
git merge-base HEAD origin/master > _base
set /p MERGEBASE=<_base
git merge-tree %MERGEBASE% HEAD origin/master | grep -E -A3 "changed in both">_tempDiff
cat _tempDiff
set /p VAR=<_tempDiff
if not "%VAR%"=="" (
      echo "Your change needs rebase"
      exit /b -1
)
exit /b 0

如果在Gerrit验证构建的第一个时运行此脚本,则当前分支使用最新的主分支修改相同的文件时,构建将立即中断,通常用户必须在构建后在Gerrit中重新定义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM