소스 비교(diff)를 하기 위한 추천 프로그램

개발시에 Source 파일의 차이점을 비교하기 위한 추천 프로그램은?

프로그래머가 개발을 진행하거나 유지 보수 작업을 할 때 가장 많이 사용하는 프로그램 중 하나는 “소스 비교 프로그램” 입니다. 보통 “diff” 작업을 한다고 하지요.

소스 비교를 하는 이유는 내가 개발한 코드가 문제 발생시 최근에 수정한 내역과 이전 수정한 내역을 비교하면서 “디버깅”을 하기 위함입니다. 개발 단계 뿐만 아니라 유지 보수 단계에서도 소스 비교 작업은 지속적으로 하는 거 같습니다.

따라서 “소스 비교 프로그램” 은 개발시에 필수적이라고 볼 수 있습니다. 소스 코드를 수정하는 개발도 있지만 코드를 비교 분석하는 것도 개발의 일부분이므로 소스 비교를 하기 위해서는 “소스 비교 프로그램”을 잘 사용하는 것도 개발을 잘 하는 방법 중에 하나입니다.

시중에 출시된 소스 비교 프로그램은 여러 프로그램이 있습니다. 이번 글에서는 무료로 사용할 수 있고 최근까지 릴리즈가 잘 이뤄지는 소스 비교 프로그램에 대해 소개를 해 보도록 하겠습니다.

Winmerge

Winmerge 를 실행한 화면

Winmerge 는 누구나 무료로 사용할 수 있는 소스 비교 프로그램입니다. 또한 소스 비교 뿐만 아니라 파일 비교도 가능하기 때문에 매우 유용하게 사용할 수 있습니다.

또한 Winmerge 는 Open Source 기반의 프로그램입니다. 오픈 소스 기반이지만 왠만한 상용 프로그램 못지 않는 기능을 갖추고 있어서 소스 비교 프로그램 중에는 꽤 인기 있는 프로그램이라고 볼 수 있습니다.

오픈소스 프로그램 임에도 불구하고 화면 GUI 구성과 기능적인 측면에서는 따 프로그램에 비해 꽤 만족스럽고 유용한 편입니다. 또한 한국 사용자들은 위해 “한국어” 도 지원을 합니다. 저도 Winmerge 로 소스 Diff 를 사용하고 있습니다. (Windows 환경에서)

Winmerge 를 다운로드 하고 싶다면 아래 링크를 통해서도 다운로드 가능합니다.

Winmerge 는 현재까지도 수시로 버전이 릴리즈 되고 있어서 추천할만 합니다. 비교적 최근 날짜에 최신 버전이 업로드 되고 있으므로 Winmerge 는 저 개인적으로 추천을 드리고 있습니다.

Vim 에디터 (Linux/Windows)

vi 에디터를 한번쯤 써보신 분들은 “vim 에디터” 에 대해 잘 아실겁니다. 유닉스 시절부터 사용된 텍스트 기반의 vi 에디터는 “vim” 이라는 기능이 확장된 에디터로 발전하여 현재까지 유닉스, 리눅스, Windows 등의 다양한 OS 에서 널리 쓰이고 있습니다.

텍스트 기반의 에디터이어서 다소 사용하고 불편할 수 있지만 잘 사용하면 vim 에디터 만큼 강력한 에디터가 없는거 같습니다. vim 에디터는 편집 기능도 제공하지만 소스간의 비교 기능도 제공하므로 소스 비교를 하는게 가능합니다.

뭐니뭐니 해도 “오픈소스” 기 때문에 개인이든 개업이든 간에 별다른 비용이 들지 않고 무료로 언제든지 사용이 가능합니다.

특히 “윈도우즈” 에서도 사용이 가능한데요, 원래 vi 에디터는 리눅스나 유닉스에서 주로 사용하는 텍스트 기반의 에디터지만 그 화면 구성을 그대로 윈도우즈에서 사용할 수 있습니다.

Windows 에서 실행한 gVIM 의 모습

gVIM 에디터를 다운로드 하려면 위 링크를 통해서도 다운로드 받으실 수 있습니다.

Code Compare

“Code Compare” 는 소스 비교 프로그램 중에서 꽤 인기 있는 프로그램입니다. 깔끔한 GUI 와 한눈에 비교하기 쉬운 화면 구성이 괜찮은 프로그램입니다.

특히 기본적으로 “소스 비교” 기능은 다른 소스 비교 프로그램에 비해 결코 떨어지지 않습니다.

매우 깔끔한 GUI 를 통해 소스 파일간의 비교를 한눈에 할 수 있으며 Merge 및 수정 작업을 매우 간편하게 하는게 가능합니다. 소스 비교 프로그램으로는 꽤나 쓸만한 프로그램이라고 볼 수 있습니다.

Code Compare 는 위 링크를 통해 무료로 다운로드 받는게 가능합니다. 대신에 Free license 를 발급받아야 하는 절차가 필요합니다. Code Compare 는 “유료” License 를 통해 Pro 버전을 구입하면 Free license로 제한된 모든 기능을 사용할 수 있습니다.

저 개인적으로는 Code Compare 를 사용해 보니 꽤나 유용하고 쓸만한 프로그램이었습니다. 깔끔한 화면 구성과 괜찮은 비주얼 툴을 선호하신다면 Code Compare 도 괜찮은 선택이 될 수 있습니다.

VS Code

VS Code 는 여러분이 잘 아시다시피 현존하는 “최강의 에디터” 라고 해도 과언이 아닙니다. 예전부터 오픈소스 에디터인 “Vim” 에디터를 즐겨 썼지만 현재는 VS Code 만 쓸만큼 막강한 에디터인거 같습니다.

VS Code 는 에디터 뿐만 아니라 소스 컴파일 기능도 연동하여 사용할 수 있기 때문에 꽤 편리한데요, 소스간의 비교도 원활하게 사용이 가능합니다.

비교하려는 파일들을 선택한 다음에 오른쪽 마우스 버튼을 누르면 위와 같이 메뉴가 나타납니다. 여기서 “Compare Selected” 를 선택하면 선택한 파일들의 소스 비교를 할 수 있습니다.

짠 요렇게 말이지요! Compare 기능은 VS Code 에 기본적으로 내장되어 있으므로 꽤나 유용하다고 볼 수 있습니다.

VS Code 를 사용하신다면 별도의 Diff 프로그램은 설치 안하시고 사용하셔도 무방합니다.

VS Code 는 Windows 뿐만 아니라 리눅스, 맥에서도 사용할 수 있는 오픈소스 기반의 에디터이기 때문에 꽤나 추천할만 합니다.

DiffMerge

여기에 여러 OS를 지원하는 소스 비교 프로그램이 있습니다. SourceGear 라는 회사에서 개발하여 릴리즈한 “DiffMerge” 입니다.

DiffMerge 는 Windows 뿐만 아니라 리눅스, 맥 OS 등의 다양한 OS를 지원하는게 특징입니다. 따라서 자신이 사용하는 OS에 맞게 다운로드 하여 설치하면 됩니다.

또한 굉장히 가볍고 저 사양의 PC 에서도 사용이 가능합니다. 현재 보유하고 있는 PC가 저사양의 PC라면 DiffMerge 를 사용해볼 수 있겠네요.

대신에 단점은 존재합니다. 2013년까지 릴리즈가 된 이후로는 별다른 릴리즈 이력이 없네요. 2013년이면 벌써 10년이 지났는데 최신 릴리즈 버전을 지원하지 않는다는 것은 다소 아쉬운 부분입니다.

DiffMerge를 사용해보고 싶으신 분들은 위의 링크를 통해 다운로드 받을 수 있습니다.

P4Merge

멀티 OS를 지원하는 소스 비교 프로그램에는 P4Merge 가 있습니다. P4Merge는 위에서 소개해 드린 Code Compare 와 비슷하게 꽤 비주얼 적이며 화면 GUI 가 깔끔한 특징이 있습니다.

또한 파일 3개를 동시에 비교가 가능하며 특이한 기능으로는 “JPG 같은 이미지 파일 비교” 기능입니다.이미지 비교 기능은 P4Merge 만의 독특한 기능이라고 볼 수 있겠네요.

P4Merge는 Windows를 비롯하여 리눅스, 맥 OS 에서도 다운로드하여 설치하는게 가능합니다.

P4Merge를 다운로드 하여 설치하고 싶다면 위의 링크를 통해서도 다운로드가 가능합니다.

P4Merge는 최근까지 업데이트 및 릴리즈가 활발히 이루어지고 있습니다. 이미지 파일 비교까지 해보고 싶다면 P4Merge를 사용해 보는 것도 좋을 듯 합니다.

'코드도사(codedosa.com)'에는 쿠팡파트너스 등의 제휴링크가 포함되어 있으며 수수료를 제공받을 수 있습니다.