결국 구글은 현재 Mercurial을 지원한다.
http://code.google.com/p/support/wiki/DVCSAnalysis



Git의 장점
  1. 저장소 공간을 적게 사용한다.

  2. N-way Merge가 가능하다. 
     Mercurial은 2 parents 밖에 안되므로 N-1 two way-merge 로 동작하지만
     Git는 최초의 조상부터 Merge에 참여시킬 수가 있다.

  3. Rebase (하지만 Mercurial도 후에 rebase를 지원한다)



Mercurial의 장점
  1. 학습비용
    - Mercurial은 Git에 비해 더 완성도 높고 쉬운 문서화가 되어 있고, 
      사용방법이 SVN이나 CVS와 비슷해서 접근성이 좋다.

  2. Windows 지원
    - Git는 태생적으로 Linux를 베이스로 한 프로그램이라 Windows에 대한 지원은 약하다.
      Mercurial은 Python 기반이므로 Windows OS에서도 잘 돌아간다.

  3. 유지관리
    - Git는 repository의 주기적 관리가 필요하다. (git-gc)
      Mercurial은 그런 관리가 필요하진 않지만 그 대신 저장소 공간을 많이 소비한다.

  4. 히스토리를 바꿀 수 없다.
    - Git는 기능이 너무 강력한 나머지 --force 옵션을 통해서 remote repository의 히스토리를 날려버릴 수도 있다.
      (하지만 이것은 장점이 되기도 하지만 단점이 되기도 한다...)



Git는 그 태생의 성격과 부합하는, 공부하지 않는 자에겐 불친절한 프로그램이다.
옵션이 많아 강력하되 사용하기에 복잡하고 학습해야 할 분량이 상당하다.








Posted by bloodguy
,