大版本合并

来自个人维基
跳转至: 导航搜索

1、下载三份代码:正在使用的大版本初始代码、正在使用的大版本最新代码以及最新拿到的大版本代码;

2、先将两个大版本的初始版本进行对比,生成“比较报告.txt”

3、将上述“比较报告.txt”的内容逐步同步到“正在使用的大版本最新代码”上,注意不要覆盖了自己的更改

4、编译,论证


  • 注意:

1、由于android使用linux内核,其中有些文件是通过大小写来区分文件的,也有一些是link文件,这些文件切忌通过window下的svn上传!

如:

$ svn ci -m "xxx" MTK6515_dual3/

提示:

svn: 提交失败(细节如下):
svn: 条目 “~/WD/android/MTK6515_dual3/mk” 意外改变状态

原因就是mk本为符号链接文件,在xp下copy后变成了普通文件.

2、不要认为out目录下的就一定是编译生成的文件,有些是mtk编译生成的库文件(万恶的闭源库..),是要用的,如这个目录下的文件:

vendor/mediatek/bbk15_td_ics2/artifacts/out/target/product/bbk15_td_ics2/obj/lib/

3、完成版本合并后最好保留mtk的原始版本代码,便于后续查询



2012年10月27日所使用的方法:

1、使用脚本或对比工具生成三份文件列表:

(1)、相同的文件列表

(2)、新增的文件列表

(3)、更改的文件列表

2、对上述三种文件分别作不同的操作

(1)、相同的文件列表

—— 忽略

(2)、新增的文件列表

—— 使用enter2space工具处理后直接使用 svn add ... -parents添加到版本库

(3)、更改的文件列表

—— 按.c、.cpp、.h、.java、.ko、.mak、.so等继续细分,细分的目的有两个:一是库文件之类可以直接上传,而源文件则要通过enter2space工具处理后使用 svn diff 进行查看比较;二是可将繁锁的文件对比过程分为多个小阶段,提高效率

3、编译下载到机器验证

4、对上述(2)、(3)两类文件通过 svn ci ...上传(由于svn ci 没有--parents选项,所以新增的文件夹要先加到上传路径中,不然会上传失败)