我如何自动更新Subversion的工作副本?
有谁知道我可以自动运行svn update
? 如果有人有脚本或类似的东西,你能告诉我一个例子吗?
我正在使用TortoiseSVN。 在生产服务器上,我有一个运行以下batch file的计划任务。
CD C:\Program Files\TortoiseSVN\bin\ START TortoiseProc.exe /command:update /path:"C:\www\MyRepo\" /closeonend:0
希望这会节省别人一些时间!
我使用位于系统托盘中的SVN通知程序 ,并在每次更改存储库时通知我。 我可以强烈推荐它。 这意味着你只有在有更新的时候才会更新!
或者,你可以设置一个计划任务/ cron作业,每小时/每天/每天在相应的目录下运行svn update
。
编辑:好的,看看这个微软文章设置一个计划任务。
你想要一个名为svnUpdate.bat的batch file,或者如下所示:
cd C:/path/to/your/working/copy svn update
获取计划的任务来运行这个经常你喜欢(一个小时似乎是合理的)
确保你已经安装了svn的命令行版本(我使用了SlikSvn )并且可以在你的PATH上find(在一个命令窗口中inputsvn
并确保它显示'Type svn help …'或者类似的东西。
@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客户端。 只需将其popup到.bat文件中并按需运行即可。
您也可以从http://code.google.com/p/commitmonitor/下载并使用;Commit-Monitor 。 它监视SVN仓库的提交,并通知用户何时发生。 它在GNU GPL,版本2。
注意:一旦我知道你的操作系统,我将能够给你一个更详细的答案。
一般说明
- 切勿改变本地存储库中的任何内容。
- 阅读这个链接,了解如何使用AT从Windows命令行进行安排。
-
使用AT命令来安排下面的命令(假设你已经安装了svn的命令行版本):
svn update reporsitory_directory
-
利润!