"서브버전(Subversion) 브랜치 만들기"에 이어진 포스팅이다. 위의 그림처럼 메인 트렁크(Trunk)에서 분기하여 생성한 브랜치(Branch)와 트렁크가 각각 독립적으로 개발을 진행한 상태에서 브랜치에서 새롭게 개발한 기능을 메인 트렁크에 반영하고자 한다. 일단, 트렁크의 작업 사본 폴더로 이동하여 최종 상태로 SVN Update 하고 커밋하지 않은 변경 사항이 있다면 커밋을 수행하여 머지과정의 충돌(Conflict)을 최소화한다. 트렁크 작업 사본 폴더의 작업 준비를 마쳤으면 TortoiseSVN > Merge를 선택한다. 브랜치의 리비전을 지정해서 머지하는 방법도 있지만 트렁크 트리와 브랜치 트리와의 차이를 현재의 작업 사본에 반영하는 방식으로 수행한다. "Merge two differe..
"깃(Git)으로 브랜치/태그 만들기"에서 다루었던 브랜치 만들기로 개발을 진행하다가 테스트 및 디버깅 작업이 완료되어 메인 트랙(master)에 합치거나 다른 브랜치에 병합해서 진행할 경우에 사용하는 기능이 머지(Merge)입니다. 병합 작업의 절차는 합칠 대상으로 작업 사본(Working copy)을 준비합니다. 작업 사본 준비는 대상 브랜치로 체크아웃 받거나 갈아타기를 수행하면 됩니다. 합칠 대상으로 작업 사본을 준비 했으면 가져올 브랜치나 태그를 지정하여 병합을 수행합니다. 병합 과정에 문제가 없이 자연스럽게 합쳐지면 병합 작업을 그대로 끝나지만 브랜치간 병합 여부를 자동으로 판단하지 못하는 "충돌(Conflict)"이 발생하면 충돌을 해결하는 과정을 거쳐야 합니다. 충돌 발생 여부와 관계없이 브..
작업을 하다보면 소스 코드나 텍스트 파일, 최근에 설정 파일의 대세를 이루는 XML파일, 다국어 체계에서 사용하는 프로퍼티 파일까지 이전 내용과 현재 내용에 어떤 부분이 달라졌는지 간편하게 확인하고 필요한 경우 파일 간에 비교하면서 라인 단위로 손쉽게 넣고 빼고 싶을 경우가 있는데 이때 사용할 수 있는 도구가 윈머지(WinMerge)입니다. 윈머지를 사용하면 폴더 단위로 비교해서 변경된 파일을 찾아서 어느 부분이 변경되었는지도 쉽게 확인할 수 있을 뿐만아니라 새롭게 추가된 파일과 삭제된 파일도 간편하게 확인할 수 있습니다. 오픈 소스 프로젝트로 http://sourceforge.net/p/winmerge/code/HEAD/tree/trunk/에서 소스 코드를 다운로드 받아 직접 수정해서 사용할 수 있을 ..