Sapling SCM — это кроссплатформенная, хорошо масштабируемая, совместимая с Git система контроля версий.
Его цель — предоставить пользователям как удобные, так и мощные интерфейсы, а также исключительную масштабируемость для работы с репозиториями, содержащими многие миллионы файлов и многие миллионы коммитов.
Чтобы начать использовать Sapling, прочтите страницу «Начало работы», где описано, как клонировать существующие репозитории Git. Ознакомьтесь с обзором, чтобы ознакомиться с различными функциями. Из Git? Ознакомьтесь со шпаргалкой по Git.
Sapling также поставляется с веб-интерфейсом Interactive Smartlog (ISL) для просмотра и взаимодействия с вашим репозиторием, а также с интегрированным интерактивным Smartlog VS Code.
Саженец СКМ состоит из трех основных компонентов:
sl
на стороне клиента и веб-интерфейс для взаимодействия пользователей с Sapling SCM.Целью масштабируемости Sapling SCM является обеспечение того, чтобы все операции управления исходным кодом масштабировались в зависимости от количества файлов, используемых разработчиком, а не от размера самого репозитория. Это обеспечивает быструю и производительную работу разработчиков даже в огромных репозиториях с миллионами файлов и чрезвычайно длинной историей коммитов.
Интерфейс командной строки Sapling, sl
, изначально был основан на Mercurial и разделяет различные аспекты пользовательского интерфейса и функции Mercurial.
Код CLI можно найти в подкаталоге eden/scm
.
Mononoke — это серверный компонент Sapling SCM.
Хотя он используется в производстве внутри Meta, он еще не поддерживается для внешнего использования. Сборки OSS в GitHub Actions доступны для неподдерживаемых экспериментов.
EdenFS — это виртуальная файловая система для управления кассами Sapling.
Хотя он используется в производстве внутри Meta, он еще не поддерживается для внешнего использования. Сборки OSS в GitHub Actions доступны для неподдерживаемых экспериментов.
EdenFS ускоряет операции в больших репозиториях, заполняя файлы рабочих каталогов только по требованию по мере доступа к ним. Это значительно ускоряет такие операции, как checkout
, в обмен на небольшое снижение производительности при первом доступе к новым файлам. Это весьма полезно в больших репозиториях, где разработчики часто одновременно работают только с небольшим подмножеством репозитория.
Более подробную проектную документацию EdenFS можно найти по адресу eden/fs/docs/Overview.md.
В настоящее время интерфейс командной строки Sapling создается и работает на Linux, Mac и Windows. Его можно собрать, запустив make oss
в каталоге eden/scm
и запустив полученный исполняемый файл sl
.
Для создания интерфейса командной строки Sapling требуются Python 3.8, Rust, CMake и OpenSSL для основного интерфейса командной строки, а также Node и Yarn для веб-интерфейса ISL.
Вы можете сообщить о проблеме на GitHub или присоединиться к Discord.
Основной проект распространяется под лицензией GPL-2.0.
Веб-сайт и ISL лицензированы MIT.
Подпроекты библиотеки, такие как минибайты, могут иметь разные лицензии. Для получения подробной информации обратитесь к файлу LICENSE
и заголовкам исходного кода в каждой библиотеке.