SVN导出到工作目录

时间:2011-01-05 14:27:12

标签: svn version-control

我们必须遵循以下问题。如果我们将更改导出到开发服务器,则导出将不会删除服务器上的任何文件。出于好的理由,我们不想手动执行此操作。所以我想把服务器上的目录作为工作副本,但所以任何开发人员都必须将他的更改提交到存储库,只是为了测试他的更改。我认为这是非常不切实际的,并且会进行许多不必要的修订。

所以我们需要来自两个世界的最好的 - 所以如果我们将更改导出到工作目录以进行测试,然后在开发完成后更新工作目录,SVN就能够处理它。

此致 烫发

1 个答案:

答案 0 :(得分:0)

  

如果我们将更改导出到开发服务器,导出将不会删除服务器上的任何文件。

您的部署脚本应该只删除以前导出的文件夹并创建新导出。当然,停机几秒钟对开发服务器来说不是问题吗?

如果停机 出现问题(例如您的项目非常庞大,导出完成需要很长时间),那么您仍然可以通过使用硬链接立即部署下一个版本或符号链接。

例如,您可以在/var/www/myproject.latest中托管您的项目,这实际上是/var/www/myproject.r123的硬链接。导出新版本124后,您可以使用以下命令立即更新硬链接:

ln -f /var/www/myproject.r124 /var/www/myproject.latest

(我假设您的项目托管在Linux服务器上,但您也可以在Windows上使用[NTFS结点] [1]点。)

  

所以我想把服务器上的目录作为工作副本,但所以任何开发人员都必须将他的更改提交到存储库,只是为了测试他的更改。

svn export有相同的限制,所以我不知道这两种方法在这方面有何不同。如果所有开发人员都需要共享同一个测试服务器,那么无论如何这都是一件好事:如果开发人员A打破了测试服务器,那么开发人员B希望能够查看SVN日志以查看发生了什么!