我开始在我的一个项目中使用 subversion,如果我可以通过例如运行 php 或 perl 脚本从生产服务器上的存储库中导出最新版本,那将是绝对惊人的。
生产站点由不允许 shell 访问或例如 phpexec()
函数的共享托管提供商托管。(我不太了解 perl;我只知道我的主机允许 perl 和自定义 cgi 脚本)。
是否可以在此环境中执行 SVN 导出?
据我所知,没有完全用 PHP 或 Perl 编写的 SVN 客户端。所以没有 exec 你就不走运了。
解决方法:
SVN 支持通过 WebDAV(即 HTTPS)访问。这意味着对于简单的读取访问,您实际上不需要 SVN 客户端来访问 SVN 存储库。您甚至可以使用 Web 浏览器,或者在您的情况下使用任何接受 URL 作为其参数的 PHP 函数。SVN 必须在服务器端设置才能与 apache 一起使用,有关更多信息,请查看svn 红皮书
看看这个:
http://www.randomsequence.com/articles/svn-backup-script/
当然,你仍然需要 exec ,但正如所说,在 PHP 中编写一些对你的 svn 服务器运行 http 调用的东西并不难。
或者,类似:
palaniraja.wordpress.com/2008/09/20/svn-export-only-updated-files-between-2-revisions/
干杯!