洪民憙 (홍민희) 블로그

이하의 글은 2011년에 쓴 것입니다. 오래된 글인 만큼, 현재의 생각과 전혀 다른 내용도 많이 포함되어 있고, 당시와는 상황이 많이 달라진 점도 있습니다. 또한, 그 당시에 잘못 알려졌던 정보도 포함되어 있을 수 있습니다. 어찌됐든 저는 제 오래된 글이 회자되는 것을 저어합니다. 읽기에 앞서 양해를 부탁드립니다.

몇년 전 Subversion을 쓰다가 Mercurial1로 갈아탄 이후로, DVCS를 이것 저것 써본 것 같다. 가장 많이 쓰는 것은 역시 Mercurial이고, GitHub 때문에 Git도 써봤으며, 최근에는 Darcs도 쓰게 되었다. 각 버전 관리 시스템에 대한 나의 느낌은 이렇다.

Mercurial (Hg)

Subversion과 명령어가 매우 유사하고, Subversion의 명령어 축약도 대부분 지원하기 때문에 당장 쓰기가 가장 편했다. 그리고 가장 오랫동안 사용해왔던 버전 관리 시스템이라 내게는 가장 익숙하다. 처음 Subversion으로부터 갈아탔을 때의 느낌은 빠르다!였던 것 같다. 대표적인 호스팅 서비스로는 Bitbucket이 있고, 그걸 쓰지 않고 셀프호스팅하려고 해도 세팅이 매우 간편하다.

Bitbucket이 분명 그리 나쁜 서비스가 아닌데다, 오히려 굉장히 잘 만들어져 있는 서비스인데도 불구하고, GitHub과 종종 비교되기 때문에 상대적으로 안 좋게 느껴지는 것 같다. 하지만 내 생각에는 GitHub이 너무 잘 만들어져 있는 것이지 결코 Bitbucket이 구린 서비스가 아니다. (Bitbucket만한 리파지토리 호스팅 서비스를 찾아보려고 해도 GitHub를 제외하면 딱히 없다는 것을 보면 확실히 그렇다.) 게다가 무료 계정이라도 제한 없이 비공개 리파지토리를 만들 수 있다는 점도 많은 사람에게 장점으로 작용한다. 덕분에 야간개발팀 역시 돈 한푼 들이지 않고 모든 리파지토리를 Bitbucket에서 호스팅받는다.

내 Bitbucket 계정은 https://bitbucket.org/dahlia이고, 야간개발팀 페이지는 https://bitbucket.org/lunant2이다.

Git

Mercurial보다도 빠르다. 하지만 내게는 Subversion처럼 느리지만 않으면 뭐든 빠르다고 느끼기 때문에 속도가 큰 장점으로 여겨지지 않았다. 명령어는 Subversion이나 Mercurial과 유사성이 전혀 없기 때문에 처음에 익숙해지는데 시간이 걸렸던 것으로 기억한다.

Bitbucket에 비교하면 GitHub이 무척 좋다. 특히 오픈 소스 프로젝트를 프로모션하는 데는 오히려 Google Project Hosting보다 더 효과가 좋은 것 같다. 하지만 비공개 리파지토리를 쓰려면 무조건 결제를 해야 하기 때문에, 딱 오픈 소스 프로젝트를 운영할 때 가장 큰 잇점이 있는 것 같다.

물론 결제를 해서 쓰면 그 만큼의 서비스를 제공받긴 하지만, 그건 GitHub 자체가 좋아서 그렇지 GitHub의 유료 서비스가 딱히 더 좋아서는 아니기 때문에 굳이 결제하고 싶은 마음이 들지는 않는다.

만약 Linus Torvalds가 만든 소프트웨어가 아니였다면 이렇게까지 강세를 보였을까 생각하지만, 애초에 Linus Torvalds가 아니였다면 이렇게 쾌적한 소프트웨어를 만들 수도 없었을테므로 쓸모 없는 가정이다.

내 GitHub 계정은 https://github.com/dahlia이고, 야간개발팀 페이지는 https://github.com/lunant3에서 볼 수 있다.

Darcs

다른 둘에 비해 역사가 좀더 오래된 초창기 DVCS 소프트웨어이지만, 나는 가장 최근에 사용하기 시작했다. 오래됐기 때문인지 다른 두 버전 관리 시스템에 비해 명령어가 무척 생소하다. 게다가 내가 써본 DVCS 소프트웨어 중에 가장 느리다. 하지만 이 부분은 앞서 얘기했듯 Subversion처럼 느리지만 않으면 내겐 문제가 되지 않기 때문에 별로 단점으로 여겨지지는 않았던 것 같다.

아직은 Mercurial만큼 익숙하지는 않은데 오히려 1년 넘게 써본 Git보다는 더 편한 것 같다. (Darcs를 써본 지는 한 달 좀 넘었음.)

사실 Darcs를 갑자기 쓰게 된 이유는 Theory of patches인데, 어려워서 읽다가 말았다;; 그리고 Haskell로 작성된 소프트웨어라는 점도 흥미를 부추겼다. 어차피 쓰는데는 별 상관이 없는 요소들이긴 하다.

호스팅 서비스가 별로 없는데, 유명한 것으로 Patch-Tag.com이 있다. 근데 이건 디자인이 아주 별로다. 나는 좀더 최근에 나왔고 개발중이며 서비스 자체가 오픈 소스인 darcsden을 쓰고 있는데 꽤나 만족 중이다. 심플하게 딱 내게 필요한 만큼만 있어서 기분 좋게 사용하고 있다. 게다가 이걸 만들고 운영하는 Alex SuraciAtomo라는 Haskell로 구현된 재미있는 언어를 디자인하기도 했는데, IRC의 #atomo 채널에서 말을 걸면 서비스의 장애도 그 자리에서 해결해주기 때문에 개발 초기 단계임에도 잘 쓰고 있다.

내 darcsden 계정은 http://darcsden.com/dahlia4이다.


  1. 명령어가 hg이기 때문에 보통 Hg라고도 불린다. 명령어의 유래는 물론 수은의 화학 기호인 Hg.

  2. 주로 비공개 저장소들을 관리하고 있기 때문에 볼 게 별로 없다.

  3. Lunant의 오픈 소스 프로젝트는 대부분 GitHub에 공개되어 있다.

  4. 여기에는 내가 디자인하고 있는 언어에 관한 것들만 모아놨다.