【发布时间】:2011-11-14 00:51:16
【问题描述】:
我开始在我的一个项目中使用 subversion,如果我可以通过例如运行 php 或 perl 脚本从生产服务器上的存储库中导出最新版本,那将是绝对惊人的。
生产站点由不允许 shell 访问或例如 php exec() 函数的共享主机提供商托管。 (我不太了解 perl;我只知道我的主机允许 perl 和自定义 cgi 脚本)。
是否可以在这种环境下执行 SVN 导出?
【问题讨论】:
我开始在我的一个项目中使用 subversion,如果我可以通过例如运行 php 或 perl 脚本从生产服务器上的存储库中导出最新版本,那将是绝对惊人的。
生产站点由不允许 shell 访问或例如 php exec() 函数的共享主机提供商托管。 (我不太了解 perl;我只知道我的主机允许 perl 和自定义 cgi 脚本)。
是否可以在这种环境下执行 SVN 导出?
【问题讨论】:
据我所知,没有完全用 PHP 或 Perl 编写的 SVN 客户端。所以没有 exec 你就不走运了。
解决方法:
【讨论】:
SVN 支持通过 WebDAV(即 HTTPS)访问。这意味着对于简单的读取访问,您实际上不需要 SVN 客户端来访问 SVN 存储库。您甚至可以使用 Web 浏览器,或者在您的情况下使用任何接受 URL 作为其参数的 PHP 函数。 SVN 必须在服务器端设置才能与 apache 一起使用,有关更多信息,请查看svn red book
【讨论】:
看看这个:
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/
干杯!
【讨论】: