所以我试图在Jenkins中执行批处理脚本:
for /f %%i in ('git rev-list --count %BRANCH_NAME% ^^%MERGE_TO%') do set commits=%%i
其中%BRANCH_NAME%和%MERGE_TO%传入Jenkins作业。执行时,这是输出:
C:\Program Files (x86)\Jenkins\jobs\Merge\workspace>for /F %i in ('git rev-list --count branch ^mrgbld') do set commits=%i
C:\Program Files (x86)\Jenkins\jobs\Merge\workspace>set commits=2305
命令应该返回5,而不是2305.事实证明,如果你在git bash中运行该命令,你得到5,但是在Windows命令提示符下运行它(Jenkins执行命令)给出2305。
我正在寻找一种方法来欺骗Jenkins在git bash中运行命令,或者让windows命令提示符给出相同的输出。有什么想法吗?
答案 0 :(得分:0)
使用不同形式的git命令可以解决问题:
git rev-list --count %MERGE_TO%..%BRANCH_NAME%
这将返回正确的提交数,无论是在git还是在windows命令中运行