메뉴 닫기

멜드(Meld)를 이용한 파일 비교

멜드 로고

프로그램을 개발하다보면 원본 소스와 수정된 소스를 비교하며 어디를 고쳤는지 확인해야 하는 경우가 자주 있다. 그뿐만 아니라 기존 서버팜(server farm)에 새로운 서버를 추가하면서 다른 서버의 설정 파일을 참고하여 새로운 서버에 적용해야 하는 경우도 자주 발생된다. 이런 경우에 유용하게 사용 할 수 있는 비교/병합 프로그램 멜드(Meld)를 소개하고자 한다.

멜드는 그래픽 기반의 비교 및 병합 프로그램으로 프로그램 소스 코드의 확인이나 수정된 부분의 이해를 돕기 위한 목적으로 만들어졌다. 멜드는 파일이나 디렉토리 혹은 버전 컨트롤되는 파일을 저장소와 비교 할 때 유용하게 사용 할 수 있다. 또한, 멜드는 여타 문서 비교 프로그램과 달리 3개의 파일을 동시에 비교 할 수 있으며, 이런 기능은 파일뿐만이 아니라 디렉토리도 가능하다.

멜드는 GPL v2 라이센스를 가지고 있으므로 무료로 사용이 가능하며 운영체제가 리눅스민트(linuxmint)인 경우에는 기본 저장소에 meld 프로그램이 포함되어 있으므로, 다음과 같은 명령을 통해 설치가 가능하다.

리눅스민트 로고

$ sudo apt-get install meld

그 이외의 리눅스 기반 운영체제인 경우에는 멜드 홈페이지(http://meldmerge.org)에서 소스 파일 및 설치 파일을 다운로드 받아 설치 할 수 있다. 만약, 윈도우즈(Windows) 운영체제에 멜드를 설치 해야 한다면, 필자는 멜드를 포기하고 윈머지(WinMerge)를 사용 할 것을 권한다. 그러는 편이 정신 건강에 이롭고, 윈도우즈 환경에서의 이용 편의성도 높다.

 

환경 설정

멜드를 실행하면 다음과 같이 비교 대상을 선택하는 3가지의 메뉴가 제공되며, 좌측부터 파일 비교, 디렉토리 비교, 버전 컨트롤 비교를 할 수 있다. 여기서 버전 컨트롤은 SVN 혹은 Git 등의 소스 코드 형상관리 도구를 의미하는 것으로 로칼 시스템에 관련 프로그램이 설치되어 있는 경우에 한하여 연동하여 사용 할 수 있다.

멜드 실행화면

프로그램을 사용하기에 앞서 몇 가지의 설정을 해야 한다. 대부분의 설정은 사용 편의성과 가독성을 위한 것이지만, 인코딩 항목의 설정은 한글이 깨지지 않고 정상적으로 보이기 위한 부분이므로 반드시 아래의 캡쳐 이미지를 참고하여 적용하도록 한다.

물론, 멜드가 설치된 운영체제가 리눅스 기반이 아닌 경우에는 인코딩 항목 설정을 무시해도 무관하다. 그러나, 운영체제가 리눅스인 경우에는 아니, 정확히는 시스템 기본 인코딩이 UTF-8인 경우에는 반드시 다음과 같은 설정이 필요하다.

설정 - 편집기

설정 - 인코딩

 

파일 비교

먼저 파일을 비교하는 방법을 알아보자. [File comparison]을 클릭하면 파일을 선택 할 수 있는 기능이 나타난다. 각 선택 항목에 비교 대상 파일을 선택하고 [Compare] 버튼을 클릭한다. 만약, 비교해야 하는 파일이 3개인 경우에는 [3-way comparison]에 체크하여 3번째 파일도 선택한다.

파일 비교

파일 비교 - 파일 선택

파일 비교 화면에서는 두 파일의 서로 다른 부분을 시각적으로 명확하게 표현하고 있다. 또한, 파일에 내용이 많아 스크롤이 생기는 경우에도 서로 다른 부분을 한 눈에 파악 할 수 있도록 좌/우측 스크롤 영역에 두 문서의 내용이 일치되지 않는 부분에 색상으로 표시를 해주고 있다.

파일 비교 - 수정

좌측의 파일이 수정하기 전의 원본 소스라고 가정하고 우측의 파일이 수정된 후의 파일인 경우 원본 소스 코드 일부를 복원해야 한다면 화면 중앙에 표기된 좌/우 화살표 버튼이 유용한 도구가 된다. 예를 들어 맨 마지막 줄의 소스 코드가 “hell”이 아닌 “home”으로 복원되어야 한다면, [→] 버튼을 클릭하여 좌측의 내용을 우측으로 적용 할 수 있다. 반대로 [←] 버튼을 클릭하여 우측의 내용을 좌측으로 적용하는 것도 가능하다.

파일 비교 - 수정전

파일 비교 - 수정후

예제 파일의 마지막 줄의 내용이 좌측에서 우측으로 적용되었다. 이렇게 적용이 완료된 이후에는 두 파일간에 해당 줄의 내용이 다르지 않으므로 시각적인 표시도 나타나지 않게된다.

모든 수정이 완료되고 별도의 저장 명령 없이 멜드 프로그램을 종료하면 수정된 부분이 있으니 저장을 해야 한다는 안내 문구가 나타난다. 예제에서는 우측 파일 하나만 수정했기 때문에 체크 박스에 하나만 선택되어 있지만, 좌측 파일도 함께 수정된 경우에는 두 개의 파일 모두 체크 표시가 된다.

파일 비교 - 저장전

Subscribe
Notify of
guest
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
trackback

[…] 설치와 환경설정, 그리고 파일을 비교하는 방법에 대한 내용은 이전 글(멜드(Meld)를 이용한 파일 비교)을 참고하여 주기를 바란다. 뿐마 아니라 검색을 통해 이 글을 먼저 접한 […]

1
0
Would love your thoughts, please comment.x
()
x