- Meta가 새로 공개한 Git 호환 버전 관리 - 클라이언트만 먼저 오픈소스로 공개
- 나중에 공개될 Sapling 서버와 가상 파일 시스템을 이용하면 수천만개의 파일/커밋/분기가 있는 Repo에도 이용 가능
- 메타의 대규모 Monorepo를 위해서 10년전부터 개발해서 사용(Mercurial의 확장으로 시작)
- Usability 와 Scalability 를 강조
- Git과 기본 명령은 비슷하지만 더 간단하고 쉽게. 각 커맨드는 한가지 동작만함. 로컬 브랜치명은 옵셔널. 스테이징 에어리어 없음
메타에서 성공적이었던 사용자 경험들
- Smartlog
- 기본 명령인 'sl'을 아무 옵션없이 실행하면 Repo를 한눈에 보기 가능
- 필요없는 정보는 제거하고 로컬 커밋과 중요 리모트 브랜치들을 보여줌
- 'sl web'을 치면 브라우저에서 보기 지원
- 실수를 쉽게 수정하기
- 'sl undo, sl redo, sl uncommit, sl unamend' 등의 명령을 지원
- 'sl undo -i' 로 인터랙티브 모드 지원
- Commit Stack 지원을 내장
- 여러개 쌓여진 커밋을 쉽게 관리
- 'sl goto COMMIT' 하고 'sl amend' 하면 자동으로 이동 및 리베이스 등을 처리
- GitHub PR을 위한 코드리뷰 UI인 ReviewStack 애드온 포함