我编写了一个控制台应用程序,它使用SharpSVN来更新我的存储库中的3个文件夹。希望将其转换为批处理脚本以消除对SharpSVN的依赖。
想出了这个:
CD C:\Program Files\TortoiseSVN\bin\
START TortoiseProc.exe /command:update /path:"C:\AMG\trunk\AMG_AccountManager\AMC\Core" /closeonend:0
START TortoiseProc.exe /command:update /path:"C:\AMG\trunk\AMG_AccountManager\AMC\Modules" /closeonend:0
START TortoiseProc.exe /command:update /path:"C:\AMG\trunk\AMG_AccountManager\MW" /closeonend:0
我找到了this as an answer to another SO question。当我运行它时,我会从Tortoise弹出3个窗口。
有人说:
Error: Working copy 'C:\AMG\trunk\AMG_AccountManager\AMC' locked.
Error: 'C:\AMG\trunk\AMG_AccountManager\AMC' is already locked.
第二个人说:
Error: Working copy 'C:\AMG\trunk\AMG_AccountManager' locked.
Error: 'C:\AMG\trunk\AMG_AccountManager\AMC' is already locked.
第三个成功更新了Modules文件夹。有谁知道是什么导致前两个被锁定?
答案 0 :(得分:4)
您无法在同一工作副本上执行三个同时更新操作。它是设计的,而且正是工作副本锁定的完成。
如果你想使用TortoiseSVN,你必须使用start
command的/wait
标志并逐个更新:
/ wait:启动一个应用程序并等待它结束。
如果您不需要花哨的GUI,您可以直接调用svn
(假设您在安装TortoiseSVN时选择了命令行工具)。