Android Branch and master source code merge(patch)

來源:互聯網
上載者:User

標籤:android   merge   git   patch   diff   

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


<?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代碼。





    


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.