Sapling SCM adalah sistem kontrol sumber lintas platform, sangat skalabel, dan kompatibel dengan Git.
Hal ini bertujuan untuk menyediakan antarmuka yang ramah pengguna dan kuat bagi pengguna, serta skalabilitas ekstrim untuk menangani repositori yang berisi jutaan file dan jutaan komitmen.
Untuk mulai menggunakan Sapling, lihat halaman Memulai untuk mengetahui cara mengkloning repositori Git Anda yang sudah ada. Lihat Ikhtisar untuk mengintip berbagai fitur. Berasal dari Git? Lihat Lembar Cheat Git.
Sapling juga dilengkapi dengan UI web Interactive Smartlog (ISL) untuk melihat dan berinteraksi dengan repositori Anda, serta Interactive Smartlog yang terintegrasi dengan VS Code.
Sapling SCM terdiri dari tiga komponen utama:
sl
sisi klien dan antarmuka web bagi pengguna untuk berinteraksi dengan Sapling SCM.Sasaran skalabilitas Sapling SCM adalah untuk memastikan bahwa semua operasi kontrol sumber disesuaikan dengan jumlah file yang digunakan oleh pengembang, dan bukan dengan ukuran repositori itu sendiri. Hal ini memungkinkan pengalaman pengembang yang cepat dan berkinerja tinggi bahkan dalam repositori besar dengan jutaan file dan riwayat penerapan yang sangat panjang.
Sapling CLI, sl
, awalnya didasarkan pada Mercurial, dan berbagi berbagai aspek UI dan fitur Mercurial.
Kode CLI dapat ditemukan di subdirektori eden/scm
.
Mononoke adalah komponen sisi server dari Sapling SCM.
Meskipun digunakan dalam produksi dalam Meta, namun belum didukung untuk penggunaan eksternal. Build OSS di GitHub Actions tersedia untuk eksperimen yang tidak didukung.
EdenFS adalah sistem file virtual untuk mengelola checkout Sapling.
Meskipun digunakan dalam produksi dalam Meta, namun belum didukung untuk penggunaan eksternal. Build OSS di GitHub Actions tersedia untuk eksperimen yang tidak didukung.
EdenFS mempercepat operasi di repositori besar dengan hanya mengisi file direktori kerja sesuai permintaan, saat diakses. Hal ini membuat operasi seperti checkout
jauh lebih cepat, dengan imbalan sedikit penurunan kinerja saat pertama kali mengakses file baru. Hal ini cukup bermanfaat dalam repositori besar di mana pengembang sering kali hanya bekerja dengan sebagian kecil repositori dalam satu waktu.
Dokumentasi desain EdenFS yang lebih detail dapat ditemukan di eden/fs/docs/Overview.md.
Sapling CLI saat ini dibuat dan berjalan di Linux, Mac, dan Windows. Itu dapat dibangun dengan menjalankan make oss
di direktori eden/scm
dan menjalankan sl
yang dihasilkan dapat dieksekusi.
Membangun Sapling CLI memerlukan Python 3.8, Rust, CMake, dan OpenSSL untuk cli utama, serta Node dan Yarn untuk UI web ISL.
Anda dapat Melaporkan Masalah di GitHub atau Bergabung dengan Discord
Proyek utama dilisensikan di bawah GPL-2.0.
Situs web dan ISL dilisensikan di bawah MIT.
Subproyek perpustakaan, seperti minibyte, mungkin memiliki lisensi berbeda. Silakan merujuk ke file LICENSE
dan header kode sumber di setiap perpustakaan untuk informasi rinci.