我有一个简单机器论坛(SMF 1.1.13)的(脏)生产装置。这是一个干净的安装,一次......大约五年,二十次更新,40 mods前。更不用说直接修补到代码库中的自定义代码了。这开始是一个有趣的副项目,并且在开始时没有任何代码管理实践。
现在SMF 2正在(越来越近)上线,我想升级。但不留下自定义功能。
继续阅读,这是一个常见的软件管理问题,而不是SMF支持问题......
我正在尝试找出将自定义功能移植到新代码分支中的最佳方法。
最后两个选项很难管理。
有关如何将大量更改从一个分支移植到另一个分支的任何建议吗? 如果它不是我自己的内部代码,那就是。这是我最初的计划:
有更好的想法吗? (欢迎发布管理信息的指针,但当然需要注意它实际上不是我的代码所以我的控制权有限。)
否则?我担心我的选择会疏忽自定义功能(不太可行)或留在旧分支上。两个都很糟糕。救命啊!
tl; dr :指向一个diff工具,它将为整个目录执行合并的逐个文件差异报告。和/或帮我找出一种更简单的方法来迁移我的自定义代码。
答案 0 :(得分:1)
您的计划通常是最实用的方法,但我会说您通过寻找代码级差异来朝着错误的方向前进。由于没有对项目生命周期的版本控制并且没有应用更改的简明记录,因此在检查代码级别的差异时,您正在寻找可能无法提供将相同更改应用于新实现所需的信息的详细程度。
不再考虑代码级别的更改,并考虑应用程序级别的功能和行为更改。您的更改引入了哪些功能?您的应用程序现在以何种方式因您的更改而表现不同?
你说在很长一段时间里都有很多未经修改的变化 - 无论你使用哪种工具和,你都将无法找到所有的变化,你仍然需要考虑这个功能和行为改变,以在任何升级的实现中完全代表相同的特征和行为。
您很了解自己的应用程序,使用它,并且即使您可能没有意识到这一点,也很欣赏您所引入的功能更改。
您的功能集不需要完整 - 在试图找出所有必需的更改的阶段不要停滞,这将花费太长时间。