管理共享重叠函数和类的多个代码库


Managing several code bases that share overlapping function and classes

我们有一个网站,它的各种功能大约有 9 个不同的代码库,可以在不同的服务器上运行。

我们使用 SVN 和脚本将代码从存储库复制到暂存服务器进行测试,因此这一切都是自动化的。我的问题是,存在存在于不同代码库中的函数和类,它们需要保持同步。因此,修复一个获得时间偏移的函数中的一个小错误,需要我手动编辑其他 5 个代码库中的 5 个其他文件。一旦代码足迹增加,我什至不会记得这个特定的函数也可能存在于其他 5 个地方。

处理此类内容的最佳方法是什么,而不仅仅是创建 2-3 个庞大的"函数.php"文件并每次将它们克隆到所有代码库?

我建议创建一个新的SVN存储库(其中包含共享类,文件等),并将其作为外部存储库链接到需要共享代码的其他项目存储库中。

例如,您有许多项目:

  1. 项目 A
  2. 项目 B
等等

等等。

假设这两个项目共享许多类。

我认为一种方法是创建一个包含共享类的新SVN存储库,然后将该SVN存储库链接到您现有的存储库中。

优势

允许您将统一和共享的代码部署到所有项目,而无需在每次更新代码存储库时手动编辑 x 数量的文件。

此外,如果您还没有这样做,我会考虑使用 phing(一种部署工具)部署您的代码。 它真的非常好和有用。提供的链接是一个很好的简单教程。