我们的移动团队一直采用SDK第一方法来开发我们的新产品。当前,我们在一个xcode项目中拥有核心领域逻辑,在另一个xcode项目中拥有可重用的UI,然后在第三个项目中将前两个实现为SDK。
在一个通用的Github存储库的监督下,这种方法很好用,因此当一项新功能需要对所有三个功能进行更改时,SCM会跟踪每个更改,并提交一个PR。
现在,随着发布日期的临近,我们的目标是将两个支持SDK视为外部软件包,这些软件包将由其他客户(而不是我们自己)通过某种形式的依赖性管理器(例如Carthage或CocoaPods)独立进行版本控制和使用。为此,我们认为每个项目都应拥有自己的独立源代码控制。因此,我们沿着将代码分离为不同的存储库的步伐走了。
这为本地开发提出了一个问题,即需要在所有三个项目中进行更改的功能都需要某种方式提交共同的请求请求,而又不会破坏依赖当前版本的SDK的任何其他用法。
我们缺乏两种策略。
有人遇到过类似的情况吗?团队使用了什么策略来保持每个SDK的历史记录,同时跨存储库进行开发?