在批处理脚本中捕获变量中的svn合并输出

时间:2014-06-06 12:28:34

标签: svn batch-file

以下是我的代码:

@echo off
cd D:\Transversal Unit\example\ace__project\branches\UAT
set "sourceBranchURL=https://coconet-svn-in-01.capgemini.com/svn/repos/transitionportal/branches/BR_TEST"
svn merge -c39,46 --dry-run %sourceBranchURL%' 2>&1 | FINDSTR /I "conflict" > null
If %ERRORLEVEL% EQU 0 echo There were conflicts
cd D:\Transversal Unit\example\script

现在在这个合并中,我知道存在冲突,但FINDSTR在这种情况下不起作用。 输出为空白。没有任何东西被打印出来,这意味着它不会进入if条件。

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

svn merge -c39,46 --dry-run %sourceBranchURL%' 2>&1 | FINDSTR /I "svn: E" > nul
If %ERRORLEVEL% EQU 0 echo There were conflicts

基本上,FINDSTR在svn: E命令的输出中查找字符串“svn merge”,我猜测它会识别错误并在出现错误时将ERRORLEVEL设置为零