检查从主干到实时服务器的文件的缺点?

时间:2009-11-25 11:15:19

标签: svn

我正在经历What is the best way to make files live using subversion on a production server?如果我运行一个挂钩,将检查在trunk中更新的所有文件到在线服务器,则会创建.svn文件夹。这有什么缺点吗?

或者我真的需要使用'export'而不是'check out'吗?

4 个答案:

答案 0 :(得分:3)

我会使用“导出”而不是签出作为部署方式。这会使文件拉扯,但不会创建你在战争,罐子或其他任何东西中不需要的所有.svn。

答案 1 :(得分:0)

确保您的.svn文件夹无法从网络浏览器中获取。代码源存在于那里,通常包括数据库密码等。

检查它的一个好处是,如果您登录服务器并在那里修复某些内容,您可以将更改提交回仓库,而无需在自己的计算机上镜像。

答案 2 :(得分:0)

我们成功地在实时和测试服务器上为php网站使用svn工作副本。确保你的Apache配置中有一条规则可以阻止查看.svn文件夹 - 快速谷歌搜索会发现很多没有粗心的人。

我们发现/考虑的事情:

  • 您不需要公开您的svn服务器 - 通过使用ssh连接到目标服务器并从目标服务器打开隧道返回到您的svn服务器来进行更新
  • 在目标服务器上,使用具有只读访问权限的svn用户名/密码,最好只对有问题的项目
  • 它允许您在测试/实时服务器上进行修补(如果您真的需要)并能够跟踪它们并轻松还原它们
  • 在Web服务器需要写入权限的任何目录上,添加'svn:ignore *'属性,加上自定义属性(例如'my:dir_type = upload')
  • 在任何svn更新后运行的脚本中使用该自定义属性,该脚本将根据需要设置这些目录的权限
  • 如果您使用标签,则可以使用“switch”命令将工作副本切换为新标签
  • 仅复制更改 - 这适用于大型应用,可节省数小时的上传文件

答案 3 :(得分:-2)

这就是为什么GIT比SVN更好的原因之一,即在现场网站上的所有svn文件夹?不是一个好主意。