git patch 파일에 판번호 붙이기

git 의 가장 강력한 장점 중의 하나는 패치 관리라고 생각한다. 패치를 로컬에서 관리하다가 때로는 업스트림에 보내야 할 때가 있다. 한 번에 통과되면 좋겠지만, 대부분 여러 번의 리뷰를 거쳐서 통과된다.

그런데 매 번 같은 이름으로 패치를 보내게 되면 이전의 패치와 헛갈리는 경우가 종종 있다. 이를 피하기 위해 패치에 판번호를 붙일 필요가 있는데, 이 방법을 살펴보자.

가장 기본적인 방법이라면, format-patch 로 패치를 만들고 나서, 해당 패치 파일들을 수작업으로 수정하는 것이다. 패치 파일이 한 두개라면 상관없지만, 그 이상이면 일일이 바꾸는 게 쉽지 않다.

다행히 git 에서는 이를 위한 기능을 제공한다. 두 가지 방법이 있다. 하나는 --subject-prefix 를 이용하는 것이고, 다른 하나는 -v숫자 를 이용하는 것이다.

--subject-prefix


일반적으로 format-patch 로 만들어진 패치 파일들의 제목은 [PATCH n/m] 형태이다. --subject-prefix 는 이 중에서 'PATCH' 를 지정된 문자열로 바꾼다. 예를 들어서

--subject-prefix "PATCH v2" 

라고 하면 [PATCH n/m] 대신에 [PATCH v2 n/m] 형태가 된다. 하지만 패치 파일 이름의 형식은 달라지지 않는다.

-v숫자


-v숫자 는 'PATCH' 문자열을 바꾸지 않고 대신에 'PATCH' 문자열 다음에 'v숫자' 를 추가한다. 예를 들어,

-v3

라고 하면 [PATCH n/m] 대신에 [PATCH v3 n/m] 형태가 되며, --subject-prefix 와 달리 패치 파일 이름의 형식도 바꾼다. 파일 이름의 앞에 v숫자- 가 붙는다.

그리고 -v숫자--subject-prefix 와 함께 쓰일 수 있다.

기본적으로 이 두 옵션은 format-patch 에서 쓰이지만, send-email 에서도 쓰일 수 있다. 다만, send-email 에서 쓰일 때는 패치 파일이나 디렉토리에 대해서는 작동하지 않고,  revision list 에 대해서만 작동한다.

댓글

이 블로그의 인기 게시물

토렌트: < 왕좌의 게임 > 시즌 1 ~ 시즌 8 완결편 마그넷

토렌트: NGC < 코스모스 > 우리말 더빙 전편(1편~13편) 마그넷

토렌트: < 스타워즈 > Ep.1 ~ Ep.6 마그넷