问题描述

在 WordPress 安装上开发的是 Subversion 版本控制。我们没有使用外部链接插件 – 插件正在由 non-developers 负责内容的安装/更新。

这会导致存储库中的问题,特别是对于已经在版本控制下的插件,并且正在更新到最新版本,因为更新插件会删除目录 (包括所有.svn 文件夹),然后删除 re-creates 。

这是一个典型的情况,这使我没有结束悲伤:

  1. 将现有的 WordPress 网站置于版本控制下,以一个新的回购。这个现有的网站 ALREADY 有一些插件。其中一些插件已过期

  2. 现在,进入管理员并更新这些插件

  3. 运行 svn st,你看到如下:〜 addthis 〜 google-analytics-for-wordpress 等…

波浪号〜特别讨厌,因为它意味着 「呃,我不知不觉中」,而 SVN 只是一个盒子。甚至复制,删除,删除,恢复,移回,尝试提交。

许多人建议使用 svn:externals 或手动 FTP 更新,这是很好的和花花公子,但我只是希望能够使用 UI 上帝的意图。从我可以看到的核心,没有挂钩可以用来说服 WP 不删除文件夹或.svn 文件夹。有什么可以做的吗?

最佳解决方案

真正的答案,考虑到以上所有内容:

关于.svn 目录:Subversion 1.7 在一年前发布 (http://svn.haxx.se/dev/archive-2011-10/0152.shtml),工作副本不再包含每个文件夹中的.svn 目录。它们在根目录中包含一个.svn 目录,同时具有相当大的性能改进。今天,SVN 是 1.7.7 版本。您应该升级您的 svn 客户端,以消除任何类型的问题。

这回答了原始问题,因为 WP 删除目录和 re-creating 它们不再是一个问题。它不会弄乱 Subversion 1.7 或更高版本的工作副本。但是,它并没有解决有关生产部署和开发/测试环境的存储库管理的更大问题。

基本上,您如何管理生产机器取决于您。如果您真正拥有一个真正的”production” 环境,那么您应该使用权限方案和/或插件来禁用用户直接升级系统的能力。用户无法更改生产。这就是称它为”production” 的一点。这种情况的变更将由开发人员进行,并首先通过测试和/或质量检查系统进行。如果你有这样的环境,真的需要这种控制,那么完全禁用升级程序就是首选的方式。

哎,我自己只用这种环境,尽管我一直在控制开发,测试和生产。整个网站都是 SVN 的回购。其中一些确实使用外部 (我使用 WP 中继线,我使用几个插件作为中继版本),其中一些不是并且是本地的回购。对我来说,部署更改为生产意味着在这些盒子上做一个 svn up,基本上。这些文件系统无法直接进行更改。

另一方面,一些我直接运行的站点,定期备份。如果我的个人网站有点不舒服,那么真的不会影响我。我使用 WP 更新器就可以了。现在,我没有在这个回购中运行这些网站,我只是定期备份整个事情。事实上,我在我的个人网站上使用 VaultPress,但任何备份方法都是一个好主意。这是一种不同的管理类型,我不需要开发/测试环境。

WordPress 适用于您希望创建的任何系统,但该系统是 WordPress 外部的,而您如何管理它是一个不是 WP 的问题,而是您想如何管理它。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。