SVN在提交时同步到文件夹

时间:2014-06-04 10:57:43

标签: svn svnsync

我有一个包含我整个php网站的爆炸www文件夹。

我想知道这样的事情是否可行:

  • 开发人员不直接处理文件
  • 在本地或在临时服务器上测试更改
  • svn提交触发一个事件,该事件将对repo所做的最新更改同步到www文件夹

我听说过svnsync / svnexport工具,但我怎样才能在提交时触发它们或者让它们成为"监听"我的回购?

此外,他们可以只更新已更改的文件吗?我的回购非常大。

1 个答案:

答案 0 :(得分:1)

人们经常这样做,而不是the official Subversion FAQ

简短版本:

  1. 将您的www目录设为工作副本
  2. 创建一个后提交挂钩,对该工作副本执行svn update
  3. 如果您的存储库服务器无法直接访问Web服务器(它不应该这样做),那么您最好还是这样:

    1. 在存储库服务器或中间服务器上创建工作副本
    2. 创建一个后提交挂钩,对该工作副本执行svn update
    3. rsync该工作副本到您的Web服务器(这可能是post-comit钩子脚本的一部分)
    4. 然而另一个选项是使用持续集成服务器来监视存储库更改并部署它们。事实上,这是大多数商店的最佳选择。您将使用CI服务器更新登台服务器,然后仅在测试完成后推送到实时服务器。然后,您的开发人员将在本地私有工作副本 中工作。