使用Subversion trunk作为DocumentRoot

时间:2009-04-22 09:42:32

标签: svn

我如何在我的subversion上创建一个svn trunk作为我的VirtualHost的DocumentRoot,所以我可以根据trunk上的最新代码测试我的应用程序。 (我的应用程序是用PHP编写的)。

谢谢!

4 个答案:

答案 0 :(得分:1)

我不确定你能做到这一点,因为svn只存储对文件的更改,而不是整个文件(我认为)。

然而,您可以设置提交后挂钩脚本,因此当您提交脚本时,即执行脚本,例如stage.domain.com等文件夹运行svn并获取最新版本的代码库。

http://svnbook.red-bean.com/en/1.1/ch05s02.html

你可能正在寻找。

亚当

答案 1 :(得分:0)

编辑:我想我误解了你的问题。您不能将文档根指向SVN存储库,但可以将文档根指向您签出SVN中继的目录。


这没问题。您应该保护您的.svn目录,以便无法通过网络服务器访问它们。

<DirectoryMatch "^/.*/(\.svn|CVS)/">
    Order deny,allow
    Deny from all
</DirectoryMatch>

以上内容适用于Apache的服务器配置,vhost配置或.htaccess。您可以使用IIS7中的URL重写模块实现相同的效果。其他网络服务器肯定会提供一些类似的功能。

答案 2 :(得分:0)

查看SvnFs(使用FUSEmacfuse等衍生物)。

我从未使用它,我想知道以这种方式访问​​主干是个好主意。例如:SvnF实际上是否可以对主干进行更改(或者在安装时主干是否会固定到特定版本)?如果它确实显示了更改,它是否立即显示它们,或者仅在实际请求文件时(我假设如果Web服务器检查文件的时间戳是否已更改,那么这将触发SvnF返回最新的详细信息)?最重要的是我假设SvnF会产生一个只读文件系统(如果没有,那我就不会使用它......),那么如果您的Web服务器想要创建一些文件呢?

(嗯,实际上还有Cascade用于FUSE,它提供了读写访问权限......)

答案 3 :(得分:0)

结帐时添加路径(主干)。 例如 svn co https://subversion.assembla.com/svn/trunk