Android Branch and master source code merge(patch)

Android Branch and master source code merge(patch)

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

<?

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代码。

    

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/109159.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号