这是我的SVN的post-commit.bat钩子脚本。
但是我的工作副本在提交完成后不会自动更新。
但是,如果我手动打开此文件。一切都按预期工作。
请指导我。
@echo off
cls
echo == Initiating system instance variables...
echo. -- Setting the variables...
:: Here you need to make some changes to suit your system.
set SOURCE=C:\Users\subbarao.b\Desktop\SVNRepo
set SVN=C:\Program Files\TortoiseSVN\bin\
:: Unless you want to modify the script, this is enough.
echo. %SOURCE%
echo. %SVN%
echo. ++ Done setting variables.
echo.
echo == Updating source from SVN
echo. -- Running update...
"%SVN%\TortoiseProc.exe" /command:update /path:"%SOURCE%" /closeonend:2
echo. ++ Done.
echo. -- Cleaning up...
set SOURCE=
set SVN=
echo. ++ Done.
答案 0 :(得分:0)
从不在钩子中使用TortoiseProc:它是GUI程序,无法在纯文本控制台中执行
%SVN%\svn up -q %SOURCE%
可以在任何终端上运行(从TortoiseSVN安装添加CLI SVN工具,如果你还没有它)
来自SVN Book
如果提交后挂钩返回非零退出状态,则提交将 因为它已经完成所以不会中止。但是,任何事情 打印到stderr的钩子将被编组回客户端, 更容易诊断钩子故障
我可以建议
svn up
将stdout重定向到stderr