最近项目定制版越来越多,维护,同步代码非常费事。以前的思路如下图:

巧用svn create patch(打补丁)方案解决定制版需求_目录结构 

以前的svn目录结构如下图:

巧用svn create patch(打补丁)方案解决定制版需求_目录结构_02

这样问题有2个:

  • 若在一个定制包中修复了其他定制包也有的bug,同步更新其他包的代码时,非常费劲+机械,并且很容易发生人工失误。
  • 若某个定制包换人维护,新接手的人,交接时费时,而且新接手的人容易忘记关键点,对定制版在主线版基础上有哪些改动记不住。

由此,我研究了一下SVN的Create/Apply patch功能,由于svn的patch格式文件可以忠实记录文件变动,所以上面说的第2个问题迎刃而解,同时新方案只有一个主线版,修复任何共有的bug只需要在主线版中修复即可,省却同步代码的工作,问题1也可以解决。所以,新的思路为:主线版+patch包=定制版,SVN只有【主线版】和【patches】2个源代码目录

 

参考文案:

《SVN中Create(Apply)patch创建及应用补丁》​​http://blog.sina.com.cn/s/blog_734073c90100p43t.html​

新改进的思路如下图:

巧用svn create patch(打补丁)方案解决定制版需求_html_03

svn目录结构如下图:

巧用svn create patch(打补丁)方案解决定制版需求_svn_04

patches目录内容如下图:

巧用svn create patch(打补丁)方案解决定制版需求_目录结构_05

 此文完。



本博客所有随笔,若未明确标示为转载或未带有原文链接,皆为原创。

本博客所有随笔版权归作者所有,欢迎转载,转载请保留:


  • 作者:kai.ma