使用Windows任务调度程序不工作的SVN更新

问题描述:

我想设置一个Windows cron作业来更新svn。我创建了这个步骤的批处理文件:使用Windows任务调度程序不工作的SVN更新

START TortoiseProc.exe /命令:update /路径: “C:\ SVN”/ closeonend:0

和安装任务调度为每天运行此。这svn需要我想输入的密码,而不是缓存它。批处理文件按预期工作,没有任何问题。

任务计划程序显示作业已成功执行。但是,我没有让GUI输入密码,目录也没有更新。另外,当我尝试手动更新svn目录后,它说svn被锁定。

  1. 为什么任务调度程序报告成功?
  2. 为什么svn被锁定?
+0

您是否只有C:\ svn文件夹中的一个工作副本,如果是,那么工作副本的根目录是?如果不是这就是它失败的原因 - 你实际上没有在/ path选项中指定一个工作副本。 – orbrey 2014-11-03 11:47:22

+0

我从来没有成功让任何GUI程序从任务调度程序运行。我不知道这是否可能,说实话。 – Ben 2014-11-03 20:37:36

任务计划程序报告成功,因为START似乎返回退出代码0.START只启动应用程序并退出。它不会等待启动的应用程序退出。任务调度器从来没有以这种方式看到TortoiseProc的退出代码。

你可以用START WAIT来做到这一点。在CMD中输入START /?以获取更多信息。 您也可以使用CMD /K本身进行此操作。在CMD中输入CMD /?以获取更多信息。

但我不认为你需要START或CMD。您可以直接运行TortoiseProc或通过批处理脚本调用它。在批处理脚本中,您可以在文件中添加更多调试,如回声和重定向输出,以查看会发生什么。

不是使用TortoiseProc.exe执行此任务!使用Subversion命令行客户端(svn.exe)。阅读文档:

记住TortoiseSVN是一个GUI客户端,这个自动化指导 告诉您如何让TortoiseSVN对话框显示并收集用户输入 。如果你想写一个不需要输入的脚本,你应该使用官方的Subversion命令行客户端。