temp: patch

16204 ワード

Patch I.

  • 現状
  • component: myhello
  • version: 0.2
  • myhello/files/userprog.c
  • #include <stdio.h>
    
    int main(){
    	printf("hello world!\n");
    	printf("myhello component v0.1\n");
    	printf("myhello component v0.2\n");
    
    	return 0;
    }
    
  • ローカルgitはファイルを処理します.
  • 2.1. localgit/userprog.c
    #include <stdio.h>
    
    int main(){
    	printf("hello world!\n");
    	printf("myhello component v0.1\n");
    	printf("myhello component v0.2\n");
    
    	return 0;
    }
    2.2. 追加.gitignore
    *.patch	# *.patch 파일이 accumulate되면 patch파일의 diff또한 추가 될 수 있음
    2.3. コミットしてから開始
    $ git commit -am"init"
  • ローカルGitは現在
  • を更新しています.
    3.1. localgit/userprog.c
    #include <stdio.h>
    
    int main(){
    	printf("hello world!\n");
    	printf("myhello component v0.1\n");
    	printf("myhello component v0.2\n");
    	printf("myhello component v0.2.1\n");
    	return 0;
    }
    
    3.2提出$ git commit -am"v0.2.1"
  • をコミットした後、(local git) $ git diffを使用してコミット変更を表示します.

  • patchファイルの作成
  • $ git format-patch -1 0001-v0.2.1.patchという名前のパッチファイルが作成されます.
  • patchファイルを->myhello/files/にコピーします.
  • 4.1. myhello/files/userprog.c
    #include <stdio.h>
    
    int main(){
    	printf("hello world!\n");
    	printf("myhello component v0.1\n");
    	printf("myhello component v0.2\n");
    
    	return 0;
    }
    4.2. myhello/files/0001-v0.2.1.patch
    From 1418c979cf1f795da8a22a026ee2bb32e009c6a2 Mon Sep 17 00:00:00 2001
    From: Mark Yang <mark.yang@lge.com>
    Date: Thu, 13 May 2021 13:29:28 +0900
    Subject: [PATCH 1/2] v0.2.1
    
    ---
     userprog.c | 1 +
     1 file changed, 1 insertion(+)
    
    diff --git a/userprog.c b/userprog.c
    index db55386..0530555 100644
    --- a/userprog.c
    +++ b/userprog.c
    @@ -4,6 +4,7 @@ int main(){
     	printf("hello world!\n");
     	printf("myhello component v0.1\n");
     	printf("myhello component v0.2\n");
    +	printf("myhello component v0.2.1\n");
     
     	return 0;
     }
    -- 
    2.25.1
  • コンポーネントフォーミュラのSRC_URIにパッチファイルを追加
  • do Bitbake!!!
  • $ bitbake myhello

    Patch II.

  • 現状
  • component: myhello
  • version: 0.2.1
  • myhello/files/userprog.c
  • #include <stdio.h>
    
    int main(){
    	printf("hello world!\n");
    	printf("myhello component v0.1\n");
    	printf("myhello component v0.2\n");
        
    	return 0;
    }
    
  • ローカルgitはファイルを処理します.
  • 2.1. localgit/userprog.c
    #include <stdio.h>
    
    int main(){
    	printf("hello world!\n");
    	printf("myhello component v0.1\n");
    	printf("myhello component v0.2\n");
    	printf("myhello component v0.2.1\n");
    	printf("myhello component v0.2.2\n");
    
    	return 0;
    }
    提出
  • $ git commit -am"v0.2.2"

  • patchファイルの作成
  • $ git format-patch -2 0001-v0.2.2.patchという名前のパッチファイルが作成されます.
  • patchファイルを->myhello/files/にコピーします.
  • 4.1. myhello/files/userprog.c
    #include <stdio.h>
    
    int main(){
    	printf("hello world!\n");
    	printf("myhello component v0.1\n");
    	printf("myhello component v0.2\n");
    
    	return 0;
    }
  • コンポーネントフォーミュラのSRC_URIにパッチファイルを追加
  • do Bitbake!!!
  • $ bitbake myhello