使用Windows任务调度程序不工作的SVN更新
问题描述:
我想设置一个Windows cron作业来更新svn。我创建了这个步骤的批处理文件:使用Windows任务调度程序不工作的SVN更新
START TortoiseProc.exe /命令:update /路径: “C:\ SVN”/ closeonend:0
和安装任务调度为每天运行此。这svn需要我想输入的密码,而不是缓存它。批处理文件按预期工作,没有任何问题。
任务计划程序显示作业已成功执行。但是,我没有让GUI输入密码,目录也没有更新。另外,当我尝试手动更新svn目录后,它说svn被锁定。
- 为什么任务调度程序报告成功?
- 为什么svn被锁定?
答
任务计划程序报告成功,因为START似乎返回退出代码0.START只启动应用程序并退出。它不会等待启动的应用程序退出。任务调度器从来没有以这种方式看到TortoiseProc的退出代码。
你可以用START WAIT来做到这一点。在CMD中输入START /?
以获取更多信息。 您也可以使用CMD /K
本身进行此操作。在CMD中输入CMD /?
以获取更多信息。
但我不认为你需要START或CMD。您可以直接运行TortoiseProc或通过批处理脚本调用它。在批处理脚本中,您可以在文件中添加更多调试,如回声和重定向输出,以查看会发生什么。
答
做不是使用TortoiseProc.exe执行此任务!使用Subversion命令行客户端(svn.exe
)。阅读文档:
记住TortoiseSVN是一个GUI客户端,这个自动化指导 告诉您如何让TortoiseSVN对话框显示并收集用户输入 。如果你想写一个不需要输入的脚本,你应该使用官方的Subversion命令行客户端。
您是否只有C:\ svn文件夹中的一个工作副本,如果是,那么工作副本的根目录是?如果不是这就是它失败的原因 - 你实际上没有在/ path选项中指定一个工作副本。 – orbrey 2014-11-03 11:47:22
我从来没有成功让任何GUI程序从任务调度程序运行。我不知道这是否可能,说实话。 – Ben 2014-11-03 20:37:36