公司每个机型用一个svn代码仓库,搞得现在有差不多一百个仓库了,代码都是大同小异。我觉得用分支更合适,一个机型稳定之后,代码合并到trunk上去就行了。ui和功能强耦合,没办法搞公用库,现在要改一个功能要把几十个仓库都f*k一次。
离线
一百多机型! 都有什么不同?
一份代码,用宏定义机型,代码里不同部分用条件编译。这样行不行?
离线
一百多机型! 都有什么不同?
一份代码,用宏定义机型,代码里不同部分用条件编译。这样行不行?
楼主说了UI和逻辑代码强耦合,
估计如果用宏条件编译处理不好很容易影响稳定的机型,
从公司管理的角度这样很不合适了。
我觉得可以用公用库的方式,
把共用的特性抽象出来做成公用库,
比如littlevgl那样, 核心做成 lvgl, 驱动做成项目lv_drivers, soc开发板项目lv_boards, 演示程序项目lv_examples,
模块内高内聚,模块之间松散耦合。
离线
楼主可以借鉴一下,目前大部分手机芯片提供商的做法,用宏来解决兼容问题,无法兼容的,可以增建分支。
实施方案:
1.比较不同机型之间的差异,对于公共代码部分进行提炼,每个机型开发不同的config File,具体差异的的地方用makefile和Kconfig注入的宏来控制编译过程
2.同一机型不同市场的(比如绝大部分相似,但是界面需要开发不同的代码时),建议使用分支控制更为合理。
我对多仓库的观点:
除非是新的项目,或者另外的团队来做,否则不建议开辟独立的仓库进行管理。
以上工作都是要花时间的,也不是说了,立马就能完成的。关键看公司领导和个人的时间计划以及心思安排。如果完成了,也算是小成就一件。
不求连城璧,但求杀人剑。超越自己,成就他人
离线
我们用git, 使用不同的分支解决
离线
楼主可以借鉴一下,目前大部分手机芯片提供商的做法,用宏来解决兼容问题,无法兼容的,可以增建分支。
实施方案:
1.比较不同机型之间的差异,对于公共代码部分进行提炼,每个机型开发不同的config File,具体差异的的地方用makefile和Kconfig注入的宏来控制编译过程2.同一机型不同市场的(比如绝大部分相似,但是界面需要开发不同的代码时),建议使用分支控制更为合理。
我对多仓库的观点:
除非是新的项目,或者另外的团队来做,否则不建议开辟独立的仓库进行管理。
以上工作都是要花时间的,也不是说了,立马就能完成的。关键看公司领导和个人的时间计划以及心思安排。如果完成了,也算是小成就一件。
不错不错, 感谢分享!
离线