본문 바로가기
IT 기술/개발환경_유틸 관련 팁

patch 명령 tip

by 땅뚱 2010. 10. 11.
# patch level
  patch 를 어디에서 수행하느냐에 따라서 patch level 의 값이 달라진다. 옵션 -p 다음에 나오는 숫자는 patch file path 중에서 무시할(strip) '/' 의 개수이다. 예를 들어 patch file 내에 patch file path 가 다음과 같다고 가정했을때, 실제 적용되는 패치파일 path 는 아래와 같다.

patch file path :  a/arch/x86/mm/fault.c

-p0 : a/arch/x86/mm/fault.c
-p1 : arch/x86/mm/fault.c
-p2 : x86/mm/fault.c
-p3 : mm/fault.c

보통 -p0 나 -p1 을 주로 사용한다.
 
# 미리 patch 결과 확인하기
  patch 명령을 실제로 적용하지 않고, 미리 patch 결과만을 확인하는 옵션

> patch -p1 --dry-run < patch.diff

# whitespace 무시
  원본 코드와 수정된 내용사이에 탭이나 스페이스로 되어 있어 patch 명령이 실패하는 경우
  탭과 스페이스 구분을 무시하라는 명령을 줄 수 있다.

> patch -l -p1 < patch.diff

# patch 되돌리기
  패치가 잘 못된 경우, 이전으로 되돌리는 경우 -R 옵션을 사용한다. 이 것은 old / new 순서를 바꾸어주어서 패치를 되돌리는 효과를 준다.

> patch -R -p1 < patch.diff