2012-01-28 36 views
0

假设我已经建立并运行了一个网站。我想开始使用Subversion进行源代码控制。将网站放入Subversion

  • 第1步,创建整个网站的存储库 - 没有问题。
  • 第2步,检查一下开发区域,代码和测试 - 没有问题。
  • 第3步,提交更改到存储库 - 没问题。
  • 步骤4,更新版本库中的现场直播 - 这就是为什么我问...

在我看来,我可能只是去网站根,做到这一点:

svn checkout file:///path/to/repo /path/to/website/root/ --force 

它会使网站成为存储库的工作副本。 --force选项在那里,因为通常svn checkout不会覆盖已存在的文件。然后,无论何时我需要执行第4步,我都可以使用svn update来更改任何需要更改的文件。

这似乎是一个优雅的设置和工作流程(假设我处理由活动网站导致的安全问题也是svn工作副本)。 update命令肯定会比export更好,因为它只会更改需要更改的文件。

但会有任何问题的文件,权限等?我有点紧张尝试它。

我在网站的备份上测试了它,它把E放在所有文件的旁边,所以我不确定它甚至复制了任何东西。

+2

这听起来像是最先在测试服务器上执行的那种实验。 – 2012-01-28 12:53:23

+0

逻辑。我没有奢侈的测试服务器与第一台服务器完全相同,但我想我可以接近。 – AmbroseChapel 2012-01-29 00:50:32

+0

使用Xen/VMWare/Parallels是从现有生产配置(使用快照)快速创建测试服务器的好方法。 – 2012-01-29 03:40:42

回答

2

仅仅因为它没有生成.svn目录,所以进行“导出”是可取的。 如果你喜欢用“更新”(你是对的,它只会更新改变的东西)进行“结账”,不要忘记删除所有这些.svn。

这些隐藏的dirs是黑客入侵网站最常见的漏洞之一,因为它允许查看源文件的内容。

+0

“所有这些.svn” - 不是最近的版本只有一个在根?我假设我可以隐藏它们,而不是删除它们。 – AmbroseChapel 2012-01-29 04:21:26

+0

当然,你可以隐藏它或使用最新版本的SVN。我只是想强调这是Web开发人员经常遇到的安全问题。 – Yury 2012-01-29 04:56:38

+1

我已经设置.htaccess为.svn目录返回404。我的托管公司正在返回403 - 不太安全,因为它告诉坏人文件在那里... – AmbroseChapel 2012-01-29 21:37:02