我有SVN下一个网站,我想修补直播网站,目前有什么在库(即有效地调用直播网站上SVN更新),但我不希望生产网站上每个文件夹中的.svn目录。SVN checkout和update没有的.svn目录
有没有办法设置svn,以便版本信息的.svn文件夹与版本控制下的文件不在同一个目录下?
Git中,您可以创建和detatch工作树和推送更新到项目这种方式(根据http://toroid.org/ams/git-website-howto),我基本上要能够做到在SVN类似的东西。
我有SVN下一个网站,我想修补直播网站,目前有什么在库(即有效地调用直播网站上SVN更新),但我不希望生产网站上每个文件夹中的.svn目录。SVN checkout和update没有的.svn目录
有没有办法设置svn,以便版本信息的.svn文件夹与版本控制下的文件不在同一个目录下?
Git中,您可以创建和detatch工作树和推送更新到项目这种方式(根据http://toroid.org/ams/git-website-howto),我基本上要能够做到在SVN类似的东西。
svn export
的工作方式与checkout
类似,但没有.svn
目录。但是,你不能update
这样的结构,因为它不是一个svn工作副本。
您也可以将Web服务器配置为不允许访问.svn
目录,只需使用checkout + update方法即可。
参见该怎么办了第二个选项这个问题的信息:http://stackoverflow.com/questions/214886/how-do-i-hide-directories-in-apache-specifically-source-control – 2009-06-27 13:17:52
rsync如何配置为不复制“.svn”目录?
rsync --exclude=.svn local_svn_copy webserver:site/
这可以重新运行刷新Web服务器的副本。
正如laalto提到svn export
反复使用时,使得用于更新“工作拷贝”一个简单的,但不是很有效的方法:
[email protected]:~$ svn export --non-interactive --force "<URL>" <directory>
你也可以使用git-svn
创建网站的git的镜子然后发布您链接的文章中描述的方式。显然这不是一个直接的解决方案。
的httpd.conf:
<Directory ~ "\.svn">
Order allow,deny
Deny from all
</Directory>
在现实中,我是一个git的跟踪网站思维rsync的,所以谢谢你的提示。附: SVN只是一个循序渐进的步骤,现在只有历史的兴趣。再次感谢! – 2009-06-27 14:08:00