17

我在 svn 下有一个网站,我想用存储库中的当前内容修补实时网站(即在实时网站上有效地调用 svn update),但我不想在生产网站的每个文件夹中都有 .svn 目录。

有没有办法设置 svn 使带有版本信息的 .svn 文件夹与版本控制下的文件不在同一目录中?

在 git 中,您可以通过这种方式创建和分离工作树并将更新推送到项目中(根据http://toroid.org/ams/git-website-howto),我基本上希望能够在 svn 中做类似的事情.

4

5 回答 5

37

svn export工作方式类似于 acheckout但没有.svn目录。然而,你不能update这样的结构,因为它不是一个 svn 工作副本。

您还可以将 Web 服务器配置为禁止访问.svn目录,并使用 checkout+update 方法。

于 2009-06-27T13:06:01.163 回答
7

rsync 配置为不复制“.svn”目录怎么样?

rsync --exclude=.svn local_svn_copy webserver:site/

这可以重新运行以刷新网络服务器的副本。

于 2009-06-27T13:05:26.813 回答
2

httpd.conf:

<Directory ~ "\.svn">
    Order allow,deny
    Deny from all
</Directory>
于 2011-08-26T08:13:21.017 回答
1

正如 laalto 所提到svn export的,在重复使用时更新“工作副本”是一种简单但不是非常有效的方法:

milen@dev:~$ svn export --non-interactive --force "<URL>" <directory>
于 2009-06-27T13:23:48.320 回答
1

您还可以使用git-svn创建网站的 git 镜像,然后按照您链接的文章中描述的方式发布。显然这不是一个直接的解决方案。

于 2009-06-27T19:22:25.760 回答