본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

Fossil

0

Fossil은 D. Richard Hipp가 만든 단순하면서도 높은 신뢰성을 가진 분산 소프트웨어 구성 관리(SCM) 시스템입니다.

오픈소스올인원웹 인터페이스자동 동기화프로젝트 관리

소개

Fossil은 D. Richard Hipp가 만든 단순하면서도 높은 신뢰성을 가진 분산 소프트웨어 구성 관리(SCM) 시스템입니다. 단일 실행 파일로 제공되며, 버전 관리 외에도 버그 추적, 위키, 포럼 등 프로젝트 관리 기능을 통합적으로 지원합니다. 자체 호스팅이 용이하도록 설계되어, 소규모 서버에서도 프로젝트 웹사이트를 쉽게 구축할 수 있습니다.

상세정보

프로젝트 관리 지원

Fossil은 코드 버전 관리 외에도 버그 추적, 위키, 포럼, 이메일 알림, 채팅, 기술 노트(technote) 기능을 함께 제공합니다. 이를 통해 코드 저장소를 넘어선 종합적인 프로젝트 운영이 가능합니다.

내장 웹 인터페이스

테마를 적용하고 확장 가능한 직관적인 웹 인터페이스를 기본으로 제공합니다. 다양한 정보 페이지를 통해 프로젝트 상황을 한눈에 파악할 수 있으며, Fossil 공식 사이트 자체가 이 기능의 실제 동작 예시입니다.

자동 동기화(Autosync)

Autosync 모드를 지원하여 분산 프로젝트에서 빈번하게 발생하는 불필요한 포크와 머지 부담을 줄이고 작업 흐름이 지속되도록 돕습니다.

견고하고 신뢰성 있는 저장

SQLite 데이터베이스에 영속적인 파일 형식으로 컨텐츠를 저장하여, 정전이나 시스템 충돌로 작업이 중단되더라도 트랜잭션이 원자성을 유지합니다. 각 커밋 전에 저장소 일관성을 자동으로 점검하는 기능이 포함되어 있습니다.

설치 및 기본 사용법

Fossil은 사전 컴파일된 단일 바이너리를 내려받아 PATH에 추가하는 방식으로 설치할 수 있습니다. Windows에서는 winget을 사용할 수 있습니다.

  1. 저장소 초기화: fossil init REPOSITORY-DIR/new-repository 명령으로 새 저장소를 생성합니다.
  2. 저장소 열기: fossil open REPOSITORY-DIR/new-repository 명령으로 작업 디렉터리와 저장소를 연결합니다.
  3. 파일 추가: fossil add files-or-directories 명령으로 추적할 파일이나 디렉터리를 등록합니다.
  4. 변경 사항 기록: fossil commit -m "commit message" 명령으로 변경 사항을 커밋합니다.
  5. 웹 인터페이스 실행: fossil ui 명령으로 내장 웹 인터페이스를 띄워 저장소와 프로젝트를 관리합니다.

위 4~6단계를 필요한 만큼 반복하여 작업을 진행합니다.

활용 예시

  • 소규모 오픈소스 프로젝트의 코드, 위키, 이슈 추적을 단일 도구로 운영할 때
  • Raspberry Pi 같은 저사양 서버나 저가 VPS에 프로젝트 웹사이트를 빠르게 구축할 때
  • 방화벽이 있는 사내 네트워크에서 HTTPS만으로 안전하게 분산 버전 관리를 수행할 때

자체 호스팅 및 네트워킹

CPU와 메모리 사용량이 효율적이어서 월 $5 수준의 VPS나 라즈베리 파이에서도 대부분의 프로젝트를 안정적으로 호스팅할 수 있습니다. 네트워크 통신에는 일반 HTTPS(또는 SSH)를 사용하며, 방화벽과 프록시 뒤에서도 정상 동작합니다. 대역폭 사용량이 적어 다이얼업이나 약한 3G 환경에서도 무리 없이 사용할 수 있습니다.

제한 및 확인 사항

오픈소스이며 BSD-2-Clause 라이선스에 따라 자유롭게 재배포할 수 있습니다. 단일 실행 파일로 동작하여 별도의 서버나 외부 데이터베이스 없이도 작동합니다.

시스템 요구사항

별도의 서버나 데이터베이스 구성이 필요하지 않습니다. Windows, Mac, Linux 환경에서 사전 컴파일된 바이너리를 다운로드하여 PATH에 추가하면 설치가 완료됩니다.