2012-12-15 29 views
0

我对SVN很新,所以这可能是一个简单的问题,但我保证它已经花了我整整一天的时间。这是设置:在/ WWW安装SVN在提交和合并后发布到Apache

阿帕奇/和网站正在/www/htdocs/example.com/www/

我有一个工作SVN服务器(同一台机器),我想在提交后使用手动或自动发布(使用挂钩)将内容发布到目标:/www/htdocs/example.com/www/。回购在/svn/www.example.com下。我已经遇到了两个问题至今:

  1. 如果我跑“SVN导出--force文件:///svn/www.example.com /www/htdocs/example.com/www”比创建一个新的目录:/www/htdocs/example.com/www/www.example.com。我可以在没有根目录的情况下进行导出,但只能导出其内容?
  2. 网站根目录(/www/htdocs/example.com/www)已经有用户上传的文件,因此从svn导出应该只覆盖在回购库中找到的文件并保留其余的文件(基本上是一个合并)。

谢谢!

回答

0

而不是导出,您可以创建一个结帐到您的www目录。您可以在apache中使用deny access to .svn folder

然后,当有SVN服务器上提交,更新你的工作副本并将其设置为丢弃当地冲突的更改:

svn update --accept theirs-full /www/htdocs/example.com/www 

你也可以执行svn revert首先放弃所有本地更改。 svn checkout --forceshould also work

+0

如果我做一个'svn co file:///svn/www.example.com/www/htdocs/example.com/www'我最终得到以下目录:/www/htdocs/example.com/ www/www.example.com/ 我需要直接在/www/htdocs/example.com/www – Stingus

+1

下的回购文件中找到它!问题在于Eclipse项目如何配置为使用SVN。 www.example.com文件夹是由Eclipse在SVN中创建的(实际上是我和我的愚蠢配置)。谢谢! – Stingus