使用各种VCS(版本控制系统)来跟踪Drupal项目的优点是什么?

ZoF*_*reX 6 version-control drupal dvcs

我正在尝试使用Drupal为我的工作流程找到最佳版本控制策略.我每次安装都有多个站点,我很确定每个站点都有一个单独的存储库.据我所知,值得考虑的VCS是:

  • SVN
  • Bazaar(bzr)
  • 混帐
  • Mercurial(hg)

我知道这些在一般情况下是如何比较的,但是想要了解Drupal的优点/缺点.如果您正在使用(或已经使用过)Drupal中的任何一个:

  • 你的设置是什么?
  • 您选择的VCS如何适用于管理Drupal项目?
  • 什么不是?

alx*_*lxp 3

我们的设置基于 Subversion。我们只有很少的人(少于 4 人)可以对网站进行更改,我们考虑过像 Git 这样的 DVCS,但得出的结论是它太过分了。

在提交任何更改之前,我们使用SimpleTest测试我们的模块,如果我们添加了未涵盖的功能,我们会进行新的测试。在我看来,提交更改之前的测试步骤比您最终决定使用哪个版本控制程序重要得多。

在处理这些程序时,您应该记住的另一件重要的事情是,您不应该只是定期检查来更新生产站点上的代码。这将留下隐藏的 .svn 或其他可能包含密码和其他敏感数据的目录。

相反,您应该从站点/所有/模块目录中删除该模块,以便svn export获得最新代码的干净版本。

版本控制是管理站点系统的一部分,请务必通过定期备份数据库本身(与 svn 提交同步)以及存储 CCK 定义来跟踪存储在数据库中的站点配置如果可以的话,将内容类型添加到您的主站点外部。您可以导入和导出内容类型和视图,以便在需要重建站点配置时它们不会卡在数据库中。

部署模块是另一件需要考虑的事情,具体取决于您的工作流程。