Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tsql 来自命令行的TortoiseSVN和;如果“错误级别”;?_Tsql_Tortoisesvn_Batch File_Errorlevel - Fatal编程技术网

Tsql 来自命令行的TortoiseSVN和;如果“错误级别”;?

Tsql 来自命令行的TortoiseSVN和;如果“错误级别”;?,tsql,tortoisesvn,batch-file,errorlevel,Tsql,Tortoisesvn,Batch File,Errorlevel,我有一个批处理文件,运行于Windows XP w/service pack 3工作站,该工作站使用SQL 2005中的sqlcmd.exe将SQL更改应用于数据库 我有一个用于TortoiseSVN的命令行条目,可以自动更新存储库的本地副本,如下所示: tortoiseproc /command:update /path:"C:/SVN/My Code/Dev/2009.07.23" /closeonend:3 根据,如果在更新过程中出现任何错误、冲突或合并,则/closeonend:3选项

我有一个批处理文件,运行于Windows XP w/service pack 3工作站,该工作站使用SQL 2005中的sqlcmd.exe将SQL更改应用于数据库

我有一个用于TortoiseSVN的命令行条目,可以自动更新存储库的本地副本,如下所示:

tortoiseproc /command:update /path:"C:/SVN/My Code/Dev/2009.07.23" /closeonend:3
根据,如果在更新过程中出现任何错误、冲突或合并,则/closeonend:3选项将使TortoiseSVN对话框保持打开状态

如果出现这种情况,并且用户关闭对话框而不解决问题,那么他们可能会忽略我们希望应用于给定分支的测试数据库的更改


如果更新后出现错误、冲突或合并,则关闭TortoiseSVN对话框时,ERRORLEVEL是否会设置为非零值,使我能够绕过批处理文件的其余部分?或者,它会愉快地返回0,表明它成功地完成了工作,即使代码不太正确?

在批处理文件中执行其他操作之前,我只是手动更新了本地SVN存储库。

在批处理文件中执行其他操作之前,我只是手动更新了本地SVN存储库批处理文件。

旧问题,但我今天遇到了同样的问题,有一个解决方案

TortoiseProc在出错时返回-1,成功时返回0,因此以下代码为我解决了问题:

TortoiseProc /path:"%targetdir%" /command:update /closeonend:3
IF %ERRORLEVEL% NEQ 0 goto SvnError

:SvnSuccess
echo It worked!
goto Done

:SvnError
echo It didn't work!

:Done

老问题,但我今天遇到了同样的事情,有一个解决办法

TortoiseProc在出错时返回-1,成功时返回0,因此以下代码为我解决了问题:

TortoiseProc /path:"%targetdir%" /command:update /closeonend:3
IF %ERRORLEVEL% NEQ 0 goto SvnError

:SvnSuccess
echo It worked!
goto Done

:SvnError
echo It didn't work!

:Done

实际上我只是想测试一下。在本地创建一个虚拟存储库,C:\Temp\Svn或其他,将其签出到两个目录中,向其中一个目录添加一个文件并提交,然后更新另一个目录,在两个目录中更改文件,在一个目录中提交,在另一个目录中运行批处理文件以查看发生了什么。为什么不使用
Svn.exe
?我是否遗漏了什么?这是我的第一个想法,但我更愿意尝试使用Tortoise的可执行文件来完成这一切,而不是必须持续维护Tortoise和SVN;还有谁知道一方是否在某个时刻做出了一些改变,以某种微妙或痛苦的方式破坏了另一方的功能。Lasse,在测试后,正如您所描述的,返回的ERRORLEVEL看起来总是0(这是OrtoiseSVN版本1.6.3,构建16613),所以我想我将在运行批处理之前手动更新,并确保没有错误,除非有人知道解决方法,否则冲突或合并仍然无法解决。我想我可能可以构建自己的包装器EXE,它可以查看Tortoise的实际结果窗口对话框,如果它在文本中发现了这些条件之一,就退出(使用Windows消息来连接和截获输出)。我实际上只是测试一下。在本地创建一个虚拟存储库,C:\Temp\Svn或其他,将其签出到两个目录中,向其中一个目录添加一个文件并提交,然后更新另一个目录,在两个目录中更改文件,在一个目录中提交,在另一个目录中运行批处理文件以查看发生了什么。为什么不使用
Svn.exe
?我是否遗漏了什么?这是我的第一个想法,但我更愿意尝试使用Tortoise的可执行文件来完成这一切,而不是必须持续维护Tortoise和SVN;还有谁知道一方是否在某个时刻做出了一些改变,以某种微妙或痛苦的方式破坏了另一方的功能。Lasse,在测试后,正如您所描述的,返回的ERRORLEVEL看起来总是0(这是OrtoiseSVN版本1.6.3,构建16613),所以我想我将在运行批处理之前手动更新,并确保没有错误,除非有人知道解决方法,否则冲突或合并仍然无法解决。我想我可能可以构建自己的包装器EXE,它可以查看Tortoise的实际结果窗口对话框,如果它在文本中发现了这些条件之一,就可以跳转(使用Windows消息来连接和截获输出)。