岗位提交中的SVN更新 - [射击,但没有结果]

时间:2014-09-16 04:41:50

标签: svn batch-file hook

这是我的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.

1 个答案:

答案 0 :(得分:0)

从不在钩子中使用TortoiseProc:它是GUI程序,无法在纯文本控制台中执行

%SVN%\svn up -q %SOURCE%

可以在任何终端上运行(从TortoiseSVN安装添加CLI SVN工具,如果你还没有它)

来自SVN Book

  

如果提交后挂钩返回非零退出状态,则提交将   因为它已经完成所以不会中止。但是,任何事情   打印到stderr的钩子将被编组回客户端,   更容易诊断钩子故障

我可以建议

  • 强行退回ERROR
  • 使用svn up将stdout重定向到stderr
  • 检查输出