维护基于该框架的框架和应用程序

时间:2010-05-25 08:11:08

标签: php mercurial workflow project

我编写了一个简单的框架(实际上是库的集合)和基于该框架的许多应用程序。这些框架和应用程序都有自己的mercurial存储库。当我更新框架存储库时,我将所有框架文件逐个复制到应用程序文件夹。这个工作流程让我有些头疼,比如我不知道上次我在应用程序中更新了框架以及它是哪个版本。

我有两个关于更好的工作流程的想法,并想知道你的意见。

  • 构建工具可以更新框架文件夹中文本文件中的版本文本,并将其导出到应用程序文件夹。

  • 我可以在应用程序存储库中使用子存储库(我不知道该怎么做)

谢谢!

注意:我的代码库是PHP

1 个答案:

答案 0 :(得分:0)

听起来你需要更好地“版本化”你的框架。如果您在构建框架的同时开发应用程序,特别是如果您正在开发MULTIPLE应用程序,那么您就会有点头疼。

您应该做的是将应用程序限制为仅使用框架的特定版本。如果要在框架中实现新功能,请将其添加到新版本中。之后,您可以决定要升级到新版本的应用程序,并将其作为完全独立的过程来执行。

无论您做什么,都不要修改现有框架实现的核心框架代码,除非您要将其完全升级到下一版本。此外,请确保每个新版本都基于最新版本 - 您不希望具有不同功能的多个开发版本,因为您的代码库(和维护要求)将呈指数级增长!

编辑:再次阅读您的问题,我觉得我还应该提到自动化任何类型的升级过程并不是一个好主意。在一个存储库中升级框架主干,然后如果需要,可以手动升级到应用程序存储库中的新版本。但仅当您需要当前版本中不可用的功能或优化时。