Android Branch and master source code merge(patch)
2016-01-25 19:23
501 查看
Environment : Android 4.4.2 merge with Android 4.4.3(with other vendors source code)
1.确定你要merge 到 其它分支的版本号。并在server測获得详细lable 相应的commit 或者 从build 相应的Repo Manifest 中找到要patch 到目标代码的Commit ID
以“devcie, flo” 为例: revision="76428ec8349ae0d73455fa4b248bcc7375e08243“ 。 76428ec8349ae0d73455fa4b248bcc7375e08243即须要patch的最新commit ID
2. 制作patch 包
git diff --binary org_commit_id 76428ec8349ae0d73455fa4b248bcc7375e08243 > device-flo.patch 就可以生成从org_commit_id 到 76428ec8349ae0d73455fa4b248bcc7375e08243 之间代码变化的patch
3. 检測代码是否冲突
进入须要patch的源码文件夹,运行 git apply --check device-flo.patch
假设有冲突将提示error , 否则未有错误提示 。
4. 将能够patch的内容patch到目标源码,并生成冲突记录
git apply --reject devcie-flo.patch
如 A 文件冲突,则会在A 文件相应的文件夹下生成A.rej 文件。 打开A.rej 文件能够查看详细的错误信息。
5. 手工Merge 冲突内容
能够借助meld 工具将目标文件夹中的源码与patch 的代码进行比較。依据代码逻辑Merge代码。
1.确定你要merge 到 其它分支的版本号。并在server測获得详细lable 相应的commit 或者 从build 相应的Repo Manifest 中找到要patch 到目标代码的Commit ID
<? xml version="1.0" encoding="UTF-8"? > <manifest> <remote fetch=".." name="aosp"/> <default remote="aosp" revision="main-4.4" sync-j="4"/> <project groups="device,flo" name="device/asus/deb" revision="76428ec8349ae0d73455fa4b248bcc7375e08243" upstream="main-4.4"/> <project groups="device,flo" name="device/asus/flo" revision="3200b077a36c68e20cafef250ff70b7d36f71409" upstream="main-4.4"/> <project groups="device,flo" name="device/asus/flo-kernel" revision="b964b854c791be15514d9c8b950531981a81365c" upstream="main-4.4"/>
以“devcie, flo” 为例: revision="76428ec8349ae0d73455fa4b248bcc7375e08243“ 。 76428ec8349ae0d73455fa4b248bcc7375e08243即须要patch的最新commit ID
2. 制作patch 包
git diff --binary org_commit_id 76428ec8349ae0d73455fa4b248bcc7375e08243 > device-flo.patch 就可以生成从org_commit_id 到 76428ec8349ae0d73455fa4b248bcc7375e08243 之间代码变化的patch
3. 检測代码是否冲突
进入须要patch的源码文件夹,运行 git apply --check device-flo.patch
假设有冲突将提示error , 否则未有错误提示 。
4. 将能够patch的内容patch到目标源码,并生成冲突记录
git apply --reject devcie-flo.patch
如 A 文件冲突,则会在A 文件相应的文件夹下生成A.rej 文件。 打开A.rej 文件能够查看详细的错误信息。
5. 手工Merge 冲突内容
能够借助meld 工具将目标文件夹中的源码与patch 的代码进行比較。依据代码逻辑Merge代码。
相关文章推荐
- 这些年正Android - 序言
- 这些年正Android - 序言
- Understanding Android Security(安卓安全的理解)
- Understanding Android Security(安卓安全的理解)
- Understanding Android Security(安卓安全的理解)
- Understanding Android Security(安卓安全的理解)
- android lint的使用
- Android 判断ListView是否在滚动到底部
- Android 设计模式之(三)观察者,适配器,桥接,组合模式
- Android 设计模式之(二)建造者,模板方法,策略模式
- Android 设计模式之(一)单例,代理,外观模式
- 安卓初学二之控件初步(一)
- Android开发中,有哪些让你觉得相见恨晚的方法、类或接口?
- 最新Android版本和API Level关系
- MAC中设置android adb环境变量
- Android Studio 1.5使用junit单元测试,以及“Test running startedTest running failed: Instrumentation run failed
- Android Studio + Github Git代码管理
- android studio使用git管理+github远程协作
- android开发工具类总结(一)
- Android 去掉标题和状态栏 达到全屏显示