2009년 07월 15일
Mercurial - 장점과 활용
분산 버전 제어 시스템(DVCS, Distribute Version Control System)에 대한 이야기는 예전에 여기에서 잠깐 소개한 적이 있습니다.
그새 Google Code에서도 SVN에 이어 DVCS 중 하나인 Mercurial을 지원하는 등 근래에 들어 DVCS가 빠르게 확산되고 있는 듯. (Bazaar나 Git이 아닌 Mercurial을 Google Code의 DVCS로 지원하는 것은 Mercurial이 기존의 SVN 히스토리를 그대로 옮겨 올 수 있기 때문인듯...)
분산 버전 제어 시스템의 차이점과 장점, 그리고 간단한 사용법에 대한 내용이 최근 IBM 개발자 사이트에 (훌륭하게 번역까지 되어서!) 올라와 있습니다.
분산 버전 제어 시스템 소개: http://www.ibm.com/developerworks/kr/library/au-dist_ver_control/
SVN의 경우 용량이 커지게 되면 많이 느려지게 되는데, 비교적 큰 팀에서 쉴 새 없이 커밋을 하다보니 어느새 불편할 정도로 느려져 버렸습니다. 위의 글에서도 DVCS가 SVN 보다 3배에서 10배 빠른 속도를 제공할 수 있다는 내용이 있는데 사내 SVN을 DVCS로 교체하면 아마 10배 이상의 속도를 얻을 지도 모르겠습니다. 물론 덤으로 강력한 저항도 따르겠지요. ㅡㅡ;
사용중인 SVN을 그대로 옮겨 오는 것도 가능하고 TortoiseHg라는 GUI 클라이언트도 있으니 변경에 무리는 없어 보입니다. (다만 Mac 에서는 빌드된 배포판이 없어 TortoiseHg을 사용하려면 번거롭지만 직접 빌드해야 합니다.)
관심 있으신 분들은 Google Code에 테스트 프로젝트를 하나 만들어서 사용해 보시는 것도 괜찮겠네요. (Mercurial을 지원하는 유사한 사이트로는 ShareSource라는 곳도 있습니다)
# by | 2009/07/15 10:39 | Development | 트랙백 | 덧글(4)
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
변경을 고려해봐야겠습니다..
속도를 고려하면 perforce 이야기가 많이 나오는데...좋긴 하지만 비용이 문제겠지요.
Mercurial과 같은 분산 SCM은 다양하게 개발 시나리오를 구상하는 것이 가능한 점이 좋아 보입니다. 해외 서비스를 위해서 다양한 버전이 필요한 경우라면 이런 특징이 많은 도움이 될 수도 있을 듯 합니다.