我正在使用作为源代码分发的第三方API。这很棒,因为我可以自己解决问题,但我也收到了很多来自第三方的更新。
对于我的代码库,我有自己的svn存储库,其中包括我的API版本。我通过从第三方的svn存储库中检出一个版本来获取官方API更新。
合并这些更改是一个痛苦的过程。有没有更好的方法来做这件事?使用分布式源码控制系统会更容易吗?
发布于 2009-03-20 23:55:42
问题是您将自己耦合到API。如果可以的话,找到一种扩展API而不是修改它的方法。将其放入一个单独的模块或其他编译输出中(即.JAR、.DLL、.SO文件)。试着把你自己和它分开。
如果你不能做到这一点,你就很难处理每个版本的合并。
当然,如果API是开源的,您可以考虑提交您的更改...
发布于 2009-03-20 23:55:47
我不认为分布式版本控制系统在你的场景中会有多大的帮助,因为看起来你会成为合并到你自己的存储库的人。如果合并的本质是API和依赖于该API的代码,那么没有什么能对您有很大帮助。
发布于 2009-03-21 00:04:04
从你的代码中抽象出API。您可以使用许多设计模式(外观、代理等)来帮助您将代码与API中的更改隔离开来。如果API发生更改,请更改与其交互的代码,而不是API本身。您仍然需要在每次更新代码时对代码进行更改,但至少这将是最小的,并且隔离到一个位置。
https://stackoverflow.com/questions/668396
复制相似问题