Android Branch and master source code merge(patch)
2014-07-30 17:22
609 查看
Environment : Android 4.4.2 merge with Android 4.4.3(with other vendors source code)
1.确定你要merge 到 其他分支的版本,并在服务器测获得具体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 到 其他分支的版本,并在服务器测获得具体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 Branch and master source code merge(patch)
- Android: How to download the latest zip Android Source Code easily and using it in Intellij
- How to build and debug android source code
- About android source code and resource
- Android kernel build from source code and from prebuilt
- Compile and build specific Hadoop source code branch using Azure VM
- APP One Link ,android and ios qrcode merge as One QRCode and one short link
- 【Android-Source】Install Git and repo to get android source code
- Dowload and compile android source code implemented by qualcomm
- Android: Simplified source code for parsing and working with XML data and web services in Android
- Repo and Git, to get Android source code.
- Android compiler source code and common errors and Solutions
- Link Android Source Code to Eclipse
- Do not hybrid compile and link source code by using VC and GCC!
- The right method to compile android SDK from source code
- Using gdbserver and arm-eabi-gdb to debug native code in Android
- CodeProject: MP3FileInfo - Extract Header and ID3 Tags of an MP3 File. Free source code and programming help
- CodeProject. Free source code and programming help
- Intellectual Property and Open Source: A Practical Guide to Protecting Code
- Atlas Control Toolkit and Source Code for the Build-in Asp.Net 2.0 Providers