패치에 대한 작업
패치를 사용하면 개발자는 작업을 저장소에 저장하지 않고 공유할 수 있습니다. 패치는 개발자가 저장소를 통해 공유된 프로젝트에 작업을 제공하려고 하지만
저장소에 쓰기 액세스가 없을 때 유용합니다. 이 경우 프로젝트에 정의된 프로세스에 따라
개발자는 패치를 작성하여 쓰기 액세스가 있는 개발자에게
전자 우편을 보내거나 프로젝트에서 사용하는 버그 보고 시스템의 버그에 첨부할 수 있습니다. 쓰기 액세스가 있는 개발자는 프로젝트에 이 패치를 적용한 다음 변경사항을 확약할 수 있습니다.
CVS 프로젝트에서 패치를 작성하려면 다음을 수행하십시오.
- 패치에 포함할 수정사항이 있는 자원을 선택하십시오. 아무 폴더나 선택해도 되지만 패치는 패치를 생성한 동일한 자원에 적용해야 하므로
프로젝트 자체를 선택하면 가장 편리합니다. 또한 패치는 패치를 생성한 동일한 파일 개정에 적용해야 하므로
패치를 동일한 자원 배열에 적용하는 단계를 취해야 합니다.
가장 쉬운 방법은 버전 맨 위에 패치를 작성하는 것입니다.
- 팝업 메뉴에서 팀 > 패치 작성...을 선택하십시오. 패치 작성 마법사가 열립니다.
- 다음 중 패치를 저장할 위치를 선택하십시오.
- 클립보드로 저장 - 패치를 클립보드에 놓아 전자 우편 프로그램과 같은 텍스트 편집기에
붙여넣을 수 있습니다.
- 파일 시스템에 저장 - 패치를 로컬 파일 시스템의 지정한 파일에 저장합니다.
- 작업공간에 저장 - 패치를 기존 Workbench 프로젝트 중 하나에 있는 지정한 파일에 저장합니다.
패치가 작을 때는 클립보드를 사용하여 패치를 전송할 수 있지만 대부분의 경우에는 로컬 파일 시스템을
사용하는 것이 가장 좋습니다. 다음을 클릭하여 패치 생성 방법을 구성하십시오.
- 다음 중 패치 구성 방법을 선택하십시오.
- 서브 폴더로 반복 - 이 옵션을 사용할 수 없으면
선택사항의 직접 하위만 패치에 포함됩니다. 그렇지 않으면, 모든 하위가 포함됩니다.
- 패치에 새 파일 포함 - 이 옵션을 사용할 수 없으면 CVS 버전 제어에 있는 파일만
포함됩니다. 그렇지 않으면 무시되었거나 새로 작성되었지만 추가되지 않은 파일도 포함됩니다.
- 차이 출력 형식 - 여러 가지 공통 차이 출력 형식을 선택할 수 있습니다. 통합은 Eclipse를 포함한 여러 패치 응용프로그램 도구에서 사용하는 형식입니다.
- 완료를 클릭하십시오.
- 패치할 프로젝트에 적절한 방법으로 패치를 전송하십시오.
패치를 적용하려면 다음을 수행하십시오.
- 패치가 생성된 자원을 선택하십시오. 이 자원에는 패치가 생성된 배열과 동일한 파일 개정이
있어야 합니다.
- 팝업 메뉴에서 팀>패치 적용...을 선택하십시오. 자원 패치 프로그램 마법사가 열립니다.
- 패치를 찾을 위치를 표시하십시오.
- 파일 - 패치가 로컬 파일 시스템의 파일에 있습니다. 파일의 전체 경로를 입력하거나
찾아보기... 단추를 사용하여 파일을 찾으십시오.
- 클립보드 - 패치가 클립보드에 있습니다.
경고: 파일 기반 패치를 사용하는 것이 안전합니다. 클립보드를 사용할 때 패치가 Linux 및 Windows와 같이 서로 다른 플랫폼에서
생성된 경우에는 행 종료가 적절하게 처리되지 않을 수 있습니다.
다음을 클릭하여 패치 적용 결과를 확인하십시오.
- 이 페이지의 맨 위 분할창에는 패치가 작업공간의 파일에 적용되었는지 여부가 표시됩니다. 트리에서 리프 항목을 선택하면 맨 아래 분할창에 패치 파일(패치 용어로는 '헝크')의 파트가
읽기 쉽게 나란히 표시됩니다. 참고: 헝크를 적용한 후 작업공간의 자원이 어떻게
표시되는지 알 수 있는 미리보기는 맨 아래 분할창에 표시되지 않습니다.
패치 파일의 컨텐츠만 표시됩니다.
-
선택된 항목은 패치 또는 헝크를 작업공간의 자원에
적용할 수 있음을 표시합니다.
패치 또는 개별 헝크를 선택 취소하여 제외시킬 수 있습니다.
-
빨간색 느낌표는 패치 또는 헝크에 문제점이 있음을 표시합니다.
패치가 잘 구성되지 않았거나 패치가 생성된 하나 이상의 파일 개정이 패치를 적용한
개정과 일치하지 않을 경우 이런 상황이 발생할 수 있습니다.
실패한 이유는 괄호 안에 표시됩니다.
전체 패치를 적용하려면 문제점(빨간색 느낌표)을 제거하고 이 마법사 페이지의 옵션을
사용하여 모든 항목을 확인해야 합니다. 아래의 '옵션'을 참조하십시오.
- 모든 항목이 적절하면 완료를 클릭하여 패치를 적용하십시오.
패치로 수정된 각 파일의 전송 변경사항은 작업공간에 포함되지 않습니다.
패치 적용 옵션
패치 파일의 올바른 일치를 가져오기 위해 다음 옵션을 사용할 수 있습니다.
-
자원 패치 프로그램 마법사의 첫 번째 페이지로 돌아가서
패치를 적용할 올바른 자원을 선택하십시오.
-
패치 파일에 저장된 경로 이름의 공통 접두부가 현재 작업공간의 경로 이름과
일치하지 않으면 '앞에 오는 경로 이름 세그먼트 무시'를 수행할 수 있습니다.
-
'공백 무시' 옵션을 사용하여 작업공간의 패치 파일 간에
공백 차이를 무시하고 일치 프로세스를
수행하십시오.
-
"최대 퍼즈 요인'(패치 용어)을 조정하십시오.
이 요인은 헝크가 일치하기 위해 원래 행에서 떨어질 수 있는 거리를 판별합니다.
기본값은 2입니다. 따라서 헝크가 패치 파일의 해당 행에서 일치하지 않으면
자원 패치 프로그램은 해당 위치로부터 '퍼즈' 행 수 만큼 앞이나 뒤에 있는
헝크와 일치시키려고 합니다.
-
작업공간에 이미 적용된 패치 파일에 대해 '역 패치' 옵션을
사용하십시오. 이 옵션은 패치를 실행 취소하거나 다시 실행할 때도 유용합니다.

CVS를 사용하여 팀 프로그래밍

자원 비교

CVS