Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将SVN存储库中的更改与我的服务器上的文件夹同步_Php_Svn - Fatal编程技术网

Php 将SVN存储库中的更改与我的服务器上的文件夹同步

Php 将SVN存储库中的更改与我的服务器上的文件夹同步,php,svn,Php,Svn,我在一家消费软件公司工作。我们的核心软件在桌面上运行(而不是在浏览器中),并使用大量XML和音频文件。我们经常将新版本的XML文件(有时是音频文件)提交到我们的SVN存储库 但是,我们还有一个额外的仅在线应用程序,它使用相同的XML和音频文件。假设这些文件存储在http://example.com/data/xml和http://example.com/data/audio。是否有办法每天自动检查SVN存储库的新提交,然后使用SVN中找到的新文件更新/data/xml和/data/audio文件

我在一家消费软件公司工作。我们的核心软件在桌面上运行(而不是在浏览器中),并使用大量XML和音频文件。我们经常将新版本的XML文件(有时是音频文件)提交到我们的SVN存储库

但是,我们还有一个额外的仅在线应用程序,它使用相同的XML和音频文件。假设这些文件存储在
http://example.com/data/xml
http://example.com/data/audio
。是否有办法每天自动检查SVN存储库的新提交,然后使用SVN中找到的新文件更新
/data/xml
/data/audio
文件夹

我在Apache上使用PHP。

您可能会看到。它描述了提交后钩子。这意味着您可以编写一个脚本,在每次提交到存储库后在服务器上执行,例如更新这两个目录的脚本


如果您只想每天更新它们,您可以查找每日cronjobs(例如,请参见此处:)

保持简单。假设您要更新的两个文件夹是工作副本,而不是在您希望更新它们的地方进行本地编辑,只需运行一个每日cron,在每个文件夹上发布一个svn更新。

只有apache或cron才是有效的解决方案?您可能对svn的兄弟fsvs感兴趣,考虑使用不同的方法(没有“.svn”)同步文件文件中的dirs):这正是我要建议的,使用post-commit钩子,在提交文件后立即同步文件。如果一天一次是你真正想要的,那么一份工作就是最好的选择。cronjob最终可能只是将repo执行svn签出到http服务器文件的位置(随后是www用户所需的权限更改)。