有人知道如何自动运行svn update
吗?如果有人有脚本或类似的东西,你能告诉我一个例子吗?
答案 0 :(得分:104)
我正在使用TortoiseSVN。在生产服务器上,我有一个运行以下批处理文件的计划任务。
CD C:\Program Files\TortoiseSVN\bin\
START TortoiseProc.exe /command:update /path:"C:\www\MyRepo\" /closeonend:0
希望这能节省一些时间!
答案 1 :(得分:30)
我使用位于系统托盘中的SVN Notifier,并在每次存储库更改时通知我。我强烈推荐它。这意味着您只有在有更新内容时才会更新!
或者,您可以设置计划任务/ cron作业,以便每小时/每天/每小时在相应目录中运行svn update
。
编辑:好的,请在设置预定任务时查看this Microsoft article。
您需要一个名为svnUpdate.bat的批处理文件或类似的东西:
cd C:/path/to/your/working/copy
svn update
获取计划任务以便随时运行(每小时一次似乎合理)
确保安装了svn的命令行版本(我使用SlikSvn)并在PATH上可用(在命令窗口中输入svn
并确保它显示'输入svn帮助... '或类似的。
答案 2 :(得分:15)
@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:\sauce\CURRENT
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.
如果您使用的是TortoiseSVN,则上述批处理脚本将很适合。否则,您可以修改它以使用您当前使用的任何SVN客户端。只需在.bat文件中弹出它并按需运行它。
答案 3 :(得分:4)
您还可以从http://code.google.com/p/commitmonitor/下载并使用 Commit-Monitor 。它监视SVN存储库以进行提交,并在发生时通知用户。它在GNU GPL,ver 2中。
答案 4 :(得分:1)
注意:一旦我了解您的操作系统,我将能够为您提供更详细的答案。
一般说明
使用AT命令安排以下命令(假设您安装了svn的命令行版本):
svn update reporsitory_directory
利润!