
Sapling SCM은 여러 운영체제에서 사용할 수 있는 Git 호환 소스 코드 관리 시스템이다. 개발자가 쓰기 쉬운 인터페이스와 수백만 개의 파일·커밋이 있는 저장소를 다루기 위한 확장성을 목표로 한다.
sl 명령줄 도구는 Mercurial을 기반으로 만들어졌으며, 저장소를 확인하고 조작하는 웹 인터페이스 Interactive Smartlog(ISL)도 제공한다. 기존 Git 저장소를 복제하는 방법은 시작 안내에서 확인할 수 있고, 기능 개요와 Git 명령어 비교표도 공개돼 있다.
Sapling의 구성 요소는 클라이언트, 서버인 Mononoke, 가상 파일 시스템인 EdenFS다. Mononoke와 EdenFS는 Meta 내부에서 운영 중이지만 외부 사용은 아직 지원하지 않는다. GitHub Actions에서 빌드할 수는 있으나, 프로젝트는 이를 지원되지 않는 실험용으로 안내한다.
EdenFS는 대형 저장소에서 파일을 처음부터 모두 가져오는 대신 접근할 때 작업 디렉터리에 채운다. 이 방식은 파일에 처음 접근할 때 약간의 성능 저하가 생기는 대신, 저장소의 일부만 다루는 개발자에게 체크아웃 작업을 더 빠르게 할 수 있다. 자세한 내용은 EdenFS 설계 문서에 있다.
Sapling CLI는 Linux, Mac, Windows에서 빌드하고 실행할 수 있다. eden/scm 디렉터리에서 make oss를 실행해 빌드하며, CLI에는 Python 3.8, Rust, CMake, OpenSSL이 필요하다. ISL 웹 인터페이스를 빌드하려면 Node와 Yarn도 필요하다.
주 프로젝트는 GPL-2.0 라이선스를 적용한다. 웹사이트와 ISL은 MIT 라이선스이며, 라이브러리 하위 프로젝트는 라이선스가 다를 수 있으므로 각각의 LICENSE 파일과 소스 코드 헤더를 확인해야 한다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요