티스토리 뷰



서브버전이나 깃(git)과 같은 형상 관리 도구를 사용하는 과정에서도 주기적으로 가장 최신 버전의 코드를 특정 브랜치나 태그에 반영하거나 거꾸로 브랜치로 진행하던 프로젝트를 트렁크(Trunk)에 반영해야 하는 작업이 종종 발생합니다. 형상 관리 도구를 사용하지 않는 경우에도 마찬가지로 동일 제품의 발전 과정에서 버전이 다른 특정한 프로젝트에 최신 코드를 반영하려는 필요는 항상 있기 마련입니다. 이런 작업을 편리하게 진행 할 수 있도록 도와주는 도구가 바로 윈머지(Winmerge, "파일 비교와 병합을 위한 윈머지(WinMerge) 사용하기" 참조) 입니다. 


동일한 폴더 아래에 있는 경우라면 탐색기에서 비교하려는 두 폴더를 동시에 선택하고 컨텍스트 메뉴를 통해서 윈머지를 선택하면 두 폴더를 자동 비교 합니다. 그렇지만 서로 다른 디렉토리에 속해 있는 폴더를 비교하려면 시작>모든 프로그램>WinMerge를 통해서 프로그램을 실행시키고 파일>열기 메뉴로 폴더 비교를 시작합니다.


비교할 디렉토리/파일 선택 창이 나오면 비교할 두 폴더를 왼쪽 및 오른쪽으로 배치합니다. 머지 과정에서 실수하지 않으려면 어떤 쪽에 기준 코드를 두고 어떤 쪽에 업데이트할 대상을 둘지를 잘 기억 해야 합니다. 폴더를 선택했으면 하단의 "하위 디렉토리 포함"을 체크하고 [확인]을 누르면 비교를 시작합니다.



비교 결과는 왼쪽 또는 오른쪽에만 있는 파일, 양쪽에 모두 존재하지만 내용이 달라진 파일("Text files are different") 등으로 구분해야 목록을 출력합니다. 파일 내용을 통째로 복사하고 싶은 경우에는 이 목록 상태에서 해당 파일을 선택한 다음 상단에 있는 "오른쪽으로 복사" 또는 "왼쪽으로 복사"를 선택하면 됩니다.  복사 확인 창에서 "예"로 복사를 진행하면 상태가 동일하다고 표시됩니다.  바이너리 파일 중에 빌드 과정에서 생성되는 임시 산출물등은 굳이 복사할 필요가 없겠죠.



파일을 통째로 복사하면 간단하지만 많은 경우 소스 차원에서 취사선택하여 코드를 반영하는 것이 대부분입니다. 이런 경우 목록에서 해당 파일을 더블 클릭하여 파일 비교 창을 먼저 엽니다. 좌측의 위치창을 보면 불일치가 있는 부분을 확인할 수 있는데 해당 위치를 마우스로 클릭하면 위의 그림과 같이 해당 위치로 이동하여 변경된 부분을 확인할 수 있습니다. 그 다음에는 소스의 변경 부분을 마우스로 클릭한 다음 상단의 "오른쪽으로 복사" 또는 "왼쪽으로 복사"를 선택하면 됩니다. 해당 부분에 대해서만 복사를 수행합니다.  반영해야할 부분의 검토가 모두 끝나면 상단에서 저장 버튼을 눌러 파일을 저장하고 우측 상단의 닫기 아이콘을 클릭하면 다시 목록으로 돌아올 수 있습니다. 더욱 안전한 병합(머지) 과정을 수행하려면 형상 관리 도구를 사용하는 것입니다.


댓글
댓글쓰기 폼