맥에서 쓸 만한 간단한 머지(Merge) 툴 opendiff/FileMerge

XCode에 포함된건지 OSX에 기본적으로 배포되는지는 모르겠지만, 일단 기본적으로 FileMerge라는 머지툴을 이용 할 수 있다. 이걸 터미널에서 실행시킬 때는 opendiff 명령을 이용할 수 있다.

opendiff FILE1 FILE2

위 명령을 터미널에서 입력하면 FileMerge라는 앱이 실행된다. 물론 FILE1과 FILE2는 비교할 두 개의 파일이름을 지정해야 한다.
모양은 이런 식으로 생겼다. XCode 내부의 머지툴과 비슷하게 생겼다.

사용방법은 단순하다. 차이가 있는 부분(가운데 숫자가 표시된 부분)을 선택하고 하단에서 Actions를 이용해서 왼쪽의 것 혹은 오른쪽의 것 등등 머지할 부분을 선택하면 된다.

마우스를 이용할 경우 좀 귀찮고 느릴 수도 있는데 키보드의 커서키를 이용하면 더 간단히 머지를 할 수 있다. 위/아래 키로 diff 영역을 선택하고 좌/우 방향키를 이용하면 'Actions에서 Left 혹은 Right를 선택' 하는 것과 동일하다.

하단에 보이는 창은 최종 머지 결과인데 이 창은 숨겨져 있을 수도 있다. 그냥 하단을 클릭하고 잡아당기면 나타난다.

머지가 완료되면 File메뉴의 Save Merge 혹은 Save Merge As를 이용해 저장 할 수 있다.

...

다만 이 툴은 좀 추천 할 만한 것은 못 되는 것 같다. 위 예제에서도 알 수 있는데 일치하는 부분과 차이가 있는 부분을 제대로 분리해서 보여주진 않고 있다.

예제 삼아 약간 복잡하게 두 개의 파일을 만들었다. 위 두 개의 파일을 opendiff/FireMerge를 이용해 불러보면 다음과 같이 나타난다.
양쪽을 적절히 섞어서 머지하고 싶은데 그건 불가능하다. 물론 코드를 일부러 머지하기 어렵게 만들었다는 점에서 이해는 해야겠지만...

코드가 일부분만 바뀌는 경우라면 이 툴은 제법 쓸 만 하다. 간단하니깐. 무료니깐. 하지만 상용 머지툴을 보유하고 있다면 굳이 쓸 필요는 없을 것 같다.

댓글

이 블로그의 인기 게시물

버전(Version)을 제대로 이해하기

소수점 제거 함수 삼총사 ceil(), floor(), round()