TortoiseSVN 패치(patch) 개요

1842 단어 SubversionTortoiseSVN

소개



TortoiseSVN을 사용하고 있고, 유창고의 마크(파랑이나 녹색의 )가 신경이 쓰였으므로, 이것이 무엇인지를 조사한 메모입니다.

※표기는 영어판입니다. 참고 문헌 [1]에 일본어 버전의 설명이 있습니다.

패치란?



패치는 단적으로 말하면 차이 (diff) 파일입니다. 아래에 설명된 방법으로 생성된 패치는 다른 브랜치나 다른 사람의 작업 복사본에 차이를 병합하는 데 사용할 수 있습니다(이것은 "패치 적용"으로 표시됨).

패치는 그 목적으로 두 종류로 나눌 수 있다[2].

(1) 커밋되지 않은 차이를 나타내는 패치
- 아직 커밋하고 싶지 않은 변경을 누군가에게보고 싶을 때
(2) 개정 간의 차이를 나타내는 패치
- 커밋 권한이 없고 커밋 또는 병합을 누군가에게 요청하고 싶을 때

다음 절에서는 구체적인 생성 방법을 설명합니다.

패치 생성



패치는 .diff 또는 .patch라는 확장명으로 저장합니다.

(1) 커밋되지 않은 차이를 나타내는 패치 생성


  • 빨간색 아이콘이 표시된 폴더 위에 [TortoiseSVN] > [Create Patch...]
  • 작은 창에 차이가있는 파일이 표시되는지 확인하고 OK
  • 패치 이름으로 저장

  • (2) 개정 간의 차이를 나타내는 패치 생성


  • 폴더 위의 TortoiseSVN > Show log
  • 차이점을 취하고 싶은 개정 범위를 Ctrl로 선택하고 마우스 오른쪽 버튼으로 클릭
  • [Show differences as unified diff]를 선택
  • 차이가 표시되므로 메뉴의 File > Save as...로 저장

  • 패치 적용


  • 패치를 만들 때와 동일한 구조의 폴더 위에 [TortoiseSVN] > [Apply patch...]
  • 생성된 패치 선택
  • 작은 창의 파일을 두 번 클릭하여 차이를 확인한 후 아래 버튼으로 실행
  • (그대로 병합하려는 경우) 패치 된 파일은 아이콘이 빨간색이므로이를 커밋합니다.

    감상



    파일을 통째로 보내 차이를 보는 것보다 패치 파일 하나를 보내는 것이 커뮤니케이션이 원활하게 될 것 같습니다.

    참고문헌



    [1] 언젠가 유용한 패치 만들기 및 적용 정보 (Subversion + TortoiseSVN)
    [2] What are patches used for in SVN? (Stackoverflow)
  • 좋은 웹페이지 즐겨찾기