我有一个简单机器论坛(SMF 1.1.13)的(肮脏的)生产安装。这是一个全新的安装,一次......大约五年,二十次更新和 40 个模组前。更不用说直接修补到代码库中的自定义代码了。这开始是一个有趣的项目,一开始没有任何代码管理实践。
现在 SMF 2 正在(越来越接近)上线,我想升级。但不会留下自定义功能。
继续阅读,这是一般软件管理问题,而不是 SMF 支持问题...
我正在尝试找出将自定义功能移植到新代码分支的最佳方法。
- 在某些情况下,自定义的 1.1.x 功能已经存在于 2.0 中。是的,我没有工作!
- 在某些情况下,会有版本为 2.0 的 mod 包,我可以直接将它们安装在干净的 SMF 2 版本上。是的,对我来说工作量很小!
- 在某些情况下,两个版本之间的代码移植将相当简单(例如查询或全局变量构造中的一些小更改)。(我已经将一些功能/模组从 2.0 移植回1.1.x,所以我开始熟悉它。)
- 在某些情况下,我只需要从头开始重新开发这些功能。
最后两个选项将很难管理。
关于如何将大量更改从一个分支移植到另一个分支的任何建议? 当它不是我自己的内部代码时,就是这样。这是我的初步计划:
- 1.1.x 的干净版本和我的“脏”生产代码之间的区别
- 将每一行差异映射到一个功能(“代码更新是自定义标记功能,必须逐行移植它,那里的那个是画廊,我可能可以安装更新的 mod。”)这将是 SOMUCHEASIER如果有一个 diff 工具可以生成一个综合报告,而不是一次检查几十个文件。Google 和 SO 搜索没有找到这样的工具——有吗?
- 安装干净的 2.0 分支
- 安装可用的更新模组
- 卷起袖子,逐个功能地检查我的差异(这就是我需要综合差异报告的原因。逐页做会很糟糕。)然后重新构建它们。
有更好的想法吗?(欢迎发布管理信息的指针,当然需要注意的是它实际上不是我的代码,所以我的控制有限。)
否则?我担心我的选择是放弃自定义功能(不太可行)或留在旧分支上。两个都很烂。帮助!
tl;dr:指向我一个差异工具,它将为整个目录执行合并的逐个文件差异报告。和/或帮助我找出一种更简单的方法来迁移我的自定义代码。