|
|
|
|
DVCS: Distributed Version Control System
DVCS란 말그대로 분산형 형상제어 시스템을 말한다. 대표적인 SCM으론 Git, Bazaar, Mercurial 등이 있으며, Git의 경우 리눅스커널 탄생의 주역인 Linus Torvalds가 개발에 참여를 하고 있다. DVCS의 IDE 플러그인 지원 강화만 보더라도 향후 1~2년 안에는 DVCS의 사용자 수가 기존 VCS의 수를 앞서게 될 것으로 전망된다.
기존의 CVS나 SVN(Subversion)와 같은 VCS에선 main-repository를 대상으로 checkout, update, commit 등의 작업을 수행하는 중앙집중식 시스템이다. 이는 때론 여러 사용자들 간에 서로 소스코드가 꼬여버리는 사태가 종종 발생하기도 하며. 매번 diff와 merge 과정을 수동으로 처리해야 하거나 강제로 덮어버려야 하는 귀차니즘을 동반하게 된다. 그 보다도 그러한 시간들이 마냥 낭비일 뿐이다라는 견해다.
하지만 Distributed VCS의 경우, 각각의 사용자가 자신만의 local-repository(branch)를 갖게 되며 공동으로 진행되는 특정 영역의 코드에 대해 해당 사용자 간의 diff/merge(pull/push) 통해 최종본을 main-repository에 반영하게 된다. 이로써 보다 유연한 공동 작업이 가능하며 선임 개발자에 의한 코드의 품질관리와 같은 응용업무 또한 가능하다.
... 중략 ... 패스 ... 중략 ...
OS 포팅과 속도 이 두가지 측면만으로 비교하자면 Git나 Bazaar 보다는 Mercurial을 추천한다. 아래는 각 DVCS 전용 윈도우즈용 GUI 클라이언트 도구들이다.
TortoiseGit: http://code.google.com/p/tortoisegit/
TortoiseBzr: http://wiki.bazaar.canonical.com/TortoiseBzr/
TortoiseHq: http://tortoisehg.bitbucket.org/
신경 쓰여서 더 이상 못쓰겠다. 일이나 하자..
다음 기회에 이어서 계속.


|
|
|
|