Enviar pesquisa
Carregar
Patch merge
•
Transferir como PPT, PDF
•
2 gostaram
•
762 visualizações
Chao-Tang Wang
Seguir
Experience Share about how to merge patch in a quick and correct way.
Leia menos
Leia mais
Aperfeiçoamento pessoal
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 18
Baixar agora
Recomendados
Smc–state machinecompiler
Smc–state machinecompiler
Dong Hyeun Lee
Create Your Own Book to Help Your Autistic Child Recognize Family Members
Create Your Own Book to Help Your Autistic Child Recognize Family Members
Autism Toybox Ideas
Is Android the New Embedded Embedded Linux? at Embedded World 2013
Is Android the New Embedded Embedded Linux? at Embedded World 2013
Opersys inc.
Haflah khotmil quran
Haflah khotmil quran
Taufik Rachman
Building blocks of gui
Building blocks of gui
arah1506
Android SharePoint
Android SharePoint
BenCox35
Buildsystem.mk
Buildsystem.mk
Rémy Gottschalk
Carnegie Library Lab case study - Digital Toybox
Carnegie Library Lab case study - Digital Toybox
CILIPScotland
Recomendados
Smc–state machinecompiler
Smc–state machinecompiler
Dong Hyeun Lee
Create Your Own Book to Help Your Autistic Child Recognize Family Members
Create Your Own Book to Help Your Autistic Child Recognize Family Members
Autism Toybox Ideas
Is Android the New Embedded Embedded Linux? at Embedded World 2013
Is Android the New Embedded Embedded Linux? at Embedded World 2013
Opersys inc.
Haflah khotmil quran
Haflah khotmil quran
Taufik Rachman
Building blocks of gui
Building blocks of gui
arah1506
Android SharePoint
Android SharePoint
BenCox35
Buildsystem.mk
Buildsystem.mk
Rémy Gottschalk
Carnegie Library Lab case study - Digital Toybox
Carnegie Library Lab case study - Digital Toybox
CILIPScotland
The State Machine Compiler
The State Machine Compiler
François Perrad
Android gradle-build-system-overview
Android gradle-build-system-overview
Kevin He
Perl on embedded Linux with Buildroot
Perl on embedded Linux with Buildroot
François Perrad
The happy path to Android development
The happy path to Android development
André Jonas
Qi -- Lightweight Boot Loader Applied in Mobile and Embedded Devices
Qi -- Lightweight Boot Loader Applied in Mobile and Embedded Devices
National Cheng Kung University
Building aosp
Building aosp
gvercoutere
Understanding Android Build Variants
Understanding Android Build Variants
donnfelker
Embedded Linux Multimedia
Embedded Linux Multimedia
Caglar Dursun
Yocto project and open embedded training
Yocto project and open embedded training
H Ming
Why you should use the Yocto Project
Why you should use the Yocto Project
rossburton
Implementing Lightweight Networking
Implementing Lightweight Networking
National Cheng Kung University
olibc: Another C Library optimized for Embedded Linux
olibc: Another C Library optimized for Embedded Linux
National Cheng Kung University
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
peknap
Linux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platform
Emertxe Information Technologies Pvt Ltd
Board Bringup
Board Bringup
Anil Kumar Pugalia
Embedded C - Optimization techniques
Embedded C - Optimization techniques
Emertxe Information Technologies Pvt Ltd
Android studio
Android studio
Paresh Mayani
Mais conteúdo relacionado
Destaque
The State Machine Compiler
The State Machine Compiler
François Perrad
Android gradle-build-system-overview
Android gradle-build-system-overview
Kevin He
Perl on embedded Linux with Buildroot
Perl on embedded Linux with Buildroot
François Perrad
The happy path to Android development
The happy path to Android development
André Jonas
Qi -- Lightweight Boot Loader Applied in Mobile and Embedded Devices
Qi -- Lightweight Boot Loader Applied in Mobile and Embedded Devices
National Cheng Kung University
Building aosp
Building aosp
gvercoutere
Understanding Android Build Variants
Understanding Android Build Variants
donnfelker
Embedded Linux Multimedia
Embedded Linux Multimedia
Caglar Dursun
Yocto project and open embedded training
Yocto project and open embedded training
H Ming
Why you should use the Yocto Project
Why you should use the Yocto Project
rossburton
Implementing Lightweight Networking
Implementing Lightweight Networking
National Cheng Kung University
olibc: Another C Library optimized for Embedded Linux
olibc: Another C Library optimized for Embedded Linux
National Cheng Kung University
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
peknap
Linux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platform
Emertxe Information Technologies Pvt Ltd
Board Bringup
Board Bringup
Anil Kumar Pugalia
Embedded C - Optimization techniques
Embedded C - Optimization techniques
Emertxe Information Technologies Pvt Ltd
Android studio
Android studio
Paresh Mayani
Destaque
(17)
The State Machine Compiler
The State Machine Compiler
Android gradle-build-system-overview
Android gradle-build-system-overview
Perl on embedded Linux with Buildroot
Perl on embedded Linux with Buildroot
The happy path to Android development
The happy path to Android development
Qi -- Lightweight Boot Loader Applied in Mobile and Embedded Devices
Qi -- Lightweight Boot Loader Applied in Mobile and Embedded Devices
Building aosp
Building aosp
Understanding Android Build Variants
Understanding Android Build Variants
Embedded Linux Multimedia
Embedded Linux Multimedia
Yocto project and open embedded training
Yocto project and open embedded training
Why you should use the Yocto Project
Why you should use the Yocto Project
Implementing Lightweight Networking
Implementing Lightweight Networking
olibc: Another C Library optimized for Embedded Linux
olibc: Another C Library optimized for Embedded Linux
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...
Linux systems - Getting started with setting up and embedded platform
Linux systems - Getting started with setting up and embedded platform
Board Bringup
Board Bringup
Embedded C - Optimization techniques
Embedded C - Optimization techniques
Android studio
Android studio
Patch merge
1.
經驗分享 - 從 patch
merge 談起 Kris Wang
2.
當你要處理的事情 規模放大到數倍 你仍然可以用一樣的人力限制跟時間 限制來完成 這時我才認為你有一個 "
方法“ 否則你只是有個把事情做完的 " 做 法 " 罷了
3.
我們從 Patch Merge 開始談起
4.
情境 早上九點半 , 老闆要求你幫忙 merge
14 筆 issue 的 patch 到另 一個 branch, 預備今天 release
5.
你認為你需要多久完成這個工作 ? 你怎麼知道你不會少 merge code? 你怎麼知道你不會 merge
錯 code?
6.
來估計一下完成任務所需時間吧
7.
所需時間 = issues
* ( ( 尋找 issue 的相關 patch) + (git cherry-pick) + (conflict resolve) + (git commit))
8.
你不是 issue owner,
怎麼知道某 筆 issue 總共 commit 了幾個 patch?
9.
做法 1:issue resolve(
包含 re-open 後的 patch) 後 , 必須記載所有相關的 commit id Risk: 無 搜尋時間 : 0 延伸思考 : git 使用者 , 可以用 commit SHA 值當 id 嗎 ?
10.
做法 2: 直接問
issue owner, 要 merge 哪幾筆 Risk:owner 也可能漏了 . 或者根本 不鳥你 搜尋時間 : 看 issue owner 記憶跟 熱情程度
11.
做法 3: 自己用肉眼找 Risk:
不能確認看完幾筆才算掃完 ? (git log 並不是依照 Date 欄位排序 ) 或者鬼遮眼 搜尋時間 : 看你精神夠不夠好
12.
做法 4: 匯出
commit log 後 , 用工具搜尋 例如 : (1) git log --since=“2014-03-01” > patch.txt (2) 用 editer 搜尋 issue number or title Risk: 如果有人 commit message 亂寫 , 就找 不到了 搜尋時間 : 幾分鐘 延伸思考 :commit log 格式規範
13.
Merge 發生 conflict
時 , 怎麼解決 ?
14.
Google 上說 , 自己看著辦
15.
方法 1: 用肉眼看
and 在 editor 上 解決 But 你真的看得懂這一片花花綠綠 ? 眼花了就 merge 錯囉
16.
方法 2: 用好的
merge tool 幫忙你
17.
BTW, “beyond compare”
好像不能用
18.
最後分享一下 Patch merge 的至高境界 “Auto
Patch Merge”
Baixar agora