/_posts/Fossil.html
HTML | 124 lines | 122 code | 2 blank | 0 comment | 0 complexity | 289d67094f6fc44d71f297dd128c6e41 MD5 | raw file
- ---
- title: Fossil
- date : 2009/09/08 16:05:00
- updated: 2009/12/04 19:03:00
- categories: scm
- ---
- <div id="outline-container-1" class="outline-2">
- <div class="outline-text-2" id="text-1">
- <p>
- Another Open source Version control system -
- <a href="http://www.fossil-scm.org/index.html/doc/tip/www/index.wiki">http://www.fossil-scm.org/index.html/doc/tip/www/index.wiki</a>
- </p>
- <p>
- Git나 mercurial처럼 DVCS기능에 더불어 버그 tracking, wiki를 통합된 시스템이다.
- Trac과 같이 built-in web 인터페이스를 가지고 있어, 인터페이스 측면에서는 훌륭하다.
- <b>Autosync</b> 를 지원하여, 불필요한 fork & merge를 줄여준다고 한다.
- Git와는 달리 단일 수행파일 하나로 되어 있다. 모든 것이 fossil 이라는 실행파일
- 하나로 이루어져 있다. (Unix 철학과는 배치되지만, 인스톨이나 언인스톨이 간단하다는
- 부가적인 장점을 무시할 수 없다). HTTP(proxy support)만 가지고 동작이 가능한
- 네트웍 모드를 지원한다. 별도의 서버 없이도 fossil을 사용할 수 있는 장점이 있다.
- 관리되는 파일 자체도 SQLite DB 하나로 이루어져 있어, 관리가 편하다.
- </p>
- <p>
- 여러모로 장점이 많지만, 아직 사용하는데는 많지 않아 보인다. 이름을 예술적으로
- 지은 덕분에, googling을 통해서 관련 Link를 찾지 못하는 단점도 있다.
- 큰 프로젝트보다는 소규모의 개인 프로젝트에 적합한 VCS라는 생각이 든다.
- </p>
- </div>
- <div id="outline-container-1.1" class="outline-3">
- <h3 id="sec-1.1">Fossile에 대한 궁금한 점과 비판 </h3>
- <div class="outline-text-3" id="text-1.1">
- <p>
- FAQ에 이어 <a href="http://www.fossil-scm.org/index.html/doc/tip/www/qandc.wiki">이 문서</a>에 궁금한 점과 비판들을 정리해 놓았다.
- </p>
- <ul>
- <li>
- Mercurial을 안 쓰고 왜 fossil을 새로 만들었나?
- <ul>
- <li>
- 자체 내장된 wiki, bug tracking, single excutable file, 웹 인터페이스를 가진 DVCS가 없었기 때문에
- 만들었다.
- </li>
- </ul>
- </li>
- <li>
- Trac대신 왜 fossil을 쓰는가?
- <ul>
- <li>
- Fossil은 분산 시스템이다. 네트웍이 연결안 되어 있는동안에도 ticket을 보거나 편집할 수 있다. (
- <i>음, git나 mercurial같은 시스템에서 얻을 수 있는 장점 중에 하나여서 끌리는 feature다</i> )
- </li>
- <li>
- Fossil은 경량이고, 프로그램 하나에 모두 포함되어 있어서 세팅이 편하다.
- </li>
- <li>
- Code versioning과 wiki, ticket을 하나의 repository에 통합했다.
- </li>
- </ul>
- </li>
- <li>
- 개념은 좋아보이는데, 실제 작업에 사용하는 사람이 있나?
- <ul>
- <li>
- 아직 git나 mercurial처럼 많은 user 층을 확보하지 못했지만, sqlite와 fossil이 fossil을 통해
- document를 관리하고 있다.
- </li>
- </ul>
- </li>
- <li>
- 리파리토리를 Sqlite DB와 같은 binary blob에 저장하는 게 걱정이 된다. ( <i>나도 또한 궁금</i> )
- <ul>
- <li>
- SQLite가 트랜잭션을 지원하기 때문에 다른 방법보다 안정적이고 안전하다.( <i>과연?</i> ) 또한 내부적으로
- 데이타 손실을 방지하기 위한 자체 체크 루틴을 구현했다.
- </li>
- </ul>
- </li>
- <li>
- VCS내에 wiki나 bugtracker를 내장하는 장점에 대해서 잘 모르겠다. - Trac같은 시스템에 비해 기능이
- 떨어지거나, VCS가 Subversion이나 Bazaar등에 비해 너무 무거워지는 단점이 있지 않을까? ( <i>궁금했던 내용</i> )
- <ul>
- <li>
- Trac이 기능이 많다는 점은 부인하지 않지만, disconnected operation이 지원되지 않는다. 나는 이것이
- 더 필요하다. ( <i>하긴 trac의 기능을 다 쓰고 있지 않잖아</i> )
- </li>
- <li>
- 무거워진다는 점에 대해서 … Fossil은 실행파일 하나다. 이 실행파일하나로 다른 패키지들(diff,
- patch, merge, cvs, svn, rcs, git, python, perl , tcl, apache, sqlite등) 전혀 필요없이 fossil을
- 수행할 수 있다. ( <i>이것도 큰 장점 중에 하나, mac용 binary크기가 820k 정도 밖에 안 된다.</i> )
- </li>
- </ul>
- </li>
- </ul>
- </div>
- </div>
- <div id="outline-container-1.2" class="outline-3">
- <h3 id="sec-1.2">결론 </h3>
- <div class="outline-text-3" id="text-1.2">
- <p>
- 중요한 프로젝트에 사용하기는 아직은 좀 꺼려지지만, 개인용 project에는 한번 시도를 해 보는 것도 괜찮을
- 듯 싶다. Sqlite와 같은 중규모의 프로젝트에서도 몇년간 계속 운영을 해 오고 있다고 한다. 웹
- 인터페이스나 관리자 툴, 권한 설정 등은 편하게 되어 있다.
- </p>
- <p>
- 하지만, 웹에서 검색해 본 결과 emacs integration이 없어서 나도 당분간 안 쓸거 같다.
- </p>
- </div>
- </div>
- <div id="outline-container-1.3" class="outline-3">
- <h3 id="sec-1.3">참고 관련 link </h3>
- <div class="outline-text-3" id="text-1.3">
- <ul>
- <li>
- <a href="http://traustithor.blogspot.com/2009/03/fossil-version-control-system.html">http://traustithor.blogspot.com/2009/03/fossil-version-control-system.html</a>
- </li>
- <li>
- <a href="http://atheorist.livejournal.com/145002.html">http://atheorist.livejournal.com/145002.html</a>
- </li>
- </ul>
- </div>
- </div>
- </div>