zoukankan      html  css  js  c++  java
  • 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代码。





        


  • 相关阅读:
    纯前端导出Excel表格
    vue 组件按需引用,vue-router懒加载,vue打包优化,加载动画
    解决图片循环展示间距
    微信小程序aes前后端加密解密交互
    判断字符串中是否包含表情
    银行卡号Luhn校验算法
    身份证校验(支持15位和18位身份证号)、邮箱校验正则
    数组去重
    bootstrap 中 css 与 javascript 的使用
    js 分页
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5158498.html
Copyright © 2011-2022 走看看