2008/07/26 03:41

Bazaar & Git

분산형 버전 관리 시스템(distributed vcs)로서 Git과 함께 요즘 화제가 되고 있는 것 같은 Bazaar (Bzr).
http://bazaar-vcs.org/

지난번 Git에 대한 글에서는 분산 VCS의 장점을 제대로 이해하지 못하였는데, 차근 차근 읽어보니... 내 경우에는 아래 상황일때 가장 유용할 듯...

하나의 main-stream 소스를 여러 사람이 오랫동안(1주일 이상) 따로 작업하여야 하는 경우, SVN만을 사용할때는 조금 난감하다.. 중간 중간(퇴근할때마다?)에 commit을 하기에는 모든 기능이 다 완료된 것이 아니라 힘들고, commit을 안하자니 개인적으로 버전 컨트롤이 안되고 내가 사용하는 컴퓨터가 여러대(퇴근 후 집에 가서도 작업해야 하면)면 그 컴퓨터들 사이에서 소스 코드를 공유할 방법이 마땅치 않고, 그렇다고 모든 사람이 각각 뭔가 일할때 마다 branch를 만들자니... 프로젝트 개발 트리의 가지들이 너무 산만하게 많아지고(사실 이런 경우 branch를 다 따로 만들면 사람수만큼 branch가 생겼다가.. 합쳐지곤 해서.. 나중에 branch가 너무 많다는 느낌이 든다.)...

이런 경우, 회사 전체에서는 SVN을 main 소스 저장소로 사용하며, 프로젝트 개발 계획에 따라 1.0, 1.2, 2.0 뭐 이런 식으로 branch 전략에 따라 분기-병합을 하고.. 각 개인은 git이나 bzr를 이용하여 자기 개인의 버전 컨트롤을 하다가 일정 기능이 완성되면 svn에 병합하는 모델이 좋은 해결책이 될 듯. Git이나 Bzr은 분산 시스템이라 별도의 서버가 없이도 local version control을 할 수 있고, 그리 어렵지 않게 자신의 여러 컴퓨터에서 동일하게 이용할 수 있도록 만들 수 있는 듯..

자세한 tutorial은 http://info.wsisiz.edu.pl/~blizinsk/git-bzr.html 참조

Git vs. Bzr 에 대해서는 서로 좋다고 논란이 좀 있는 것 같은데, 내가 볼때는 Git은 빠르고, Bzr는 편한 듯. 개인적으로는 Bzr가 현재로선 더 땡김. 물론, Git도 여전히 관심이 감.

Git은 Linux가 사용하고 있고, Rails가 여길 이용하고 있고, RailsCast등에 많이 소개 되어 관심이 가고...
Bzr은 Ubuntu가 사용하고 있고, 최근 MySQL이 여기로 갔다고 함.

무료 Project Hosting도 Git은 GitHub, Bazaar는 Launchpad가 있음.
SVN은 Google Code Hosting이 있지..
이런 hosting들 써보면 참 좋음.. 개인적으로 trac + svn을 사용하고 있는데,
솔직히 서버 설치하는 것도 귀찮고, 관리하기도 귀찮은데..
이런 hosting은 open source를 위한 것이라 소스가 공개되는 단점이 있지만
(Git-Hub는 돈만 내면.. 안그럴수도 있는 듯.., 물론 돈 내면 이런 project hosting 사이트는 더 있음.)

Launchpad는 재밌는 점이 Translations을 위한 지원 기능이 있다는 점. 들어가서 한번 해보면 참 재밌음.
GNU GetText(잘 몰랐는데.. 이번에 좀 더 알게 되었음. 좋네... 예전에 MFC에서 Resource에 넣고 하던거보다 더 쉬운 듯..)를 이용한 Translation에서 po파일들을 번역하기 위한 웹 사이트를 제공함. 요거 괜찮아 보임.

아무튼, 우선은 나혼자 일을 하다 보니 SVN이나 BZR나 GIT이나 거기서 거기긴 한데..
만일 내가 팀을 운영하고 있다면 한번 사용해 보고 싶음.

'information > technology' 카테고리의 다른 글

rietveld: 코드 리뷰 시스템 관련  (1) 2008/08/15
Bazaar & Git  (0) 2008/07/26
검색플랫폼의 변화: Google에서 Hadoop까지.  (0) 2008/05/28
Human Computing  (2) 2008/05/07
Trackback 0 Comment 0