Installation
The latest release is 0.2.20240718-145624+f4e9df48
.
Prebuilt binaries
macOS
First, make sure that Homebrew is installed on your system. Then either install directly from Homebrew-core or install the bottle released by us:
Installing from Homebrew-core
Just run:
brew install sapling
Installing from our prebuilt bottles
Follow the instructions depending on your architecture.
Apple silicon (arm64)
Download using curl
:
curl -L -o sapling_0.2.20240718-145624+f4e9df48.arm64_ventura.bottle.tar.gz https://github.com/facebook/sapling/releases/download/0.2.20240718-145624%2Bf4e9df48/sapling_0.2.20240718-145624%2Bf4e9df48.arm64_ventura.bottle.tar.gz
Then install:
brew install ./sapling_0.2.20240718-145624+f4e9df48.arm64_ventura.bottle.tar.gz
Intel (x86_64)
Download using curl
:
curl -L -o sapling_0.2.20240718-145624+f4e9df48.monterey.bottle.tar.gz https://github.com/facebook/sapling/releases/download/0.2.20240718-145624%2Bf4e9df48/sapling_0.2.20240718-145624%2Bf4e9df48.monterey.bottle.tar.gz
Then install:
brew install ./sapling_0.2.20240718-145624+f4e9df48.monterey.bottle.tar.gz
Downloading the bottle using a web browser instead of curl
will cause macOS to tag Sapling as "untrusted" and the security manager will prevent you from running it. You can remove this annotation as follows:
xattr -r -d com.apple.quarantine ~/Downloads/sapling_0.2.20240718-145624+f4e9df48.arm64_ventura.bottle.tar.gz
Note that to clone larger repositories, you need to change the open files limit. We recommend doing it now so it doesn't bite you in the future:
echo "ulimit -n 1048576" >> ~/.bash_profile
echo "ulimit -n 1048576" >> ~/.zshrc
Windows
After downloading the sapling_windows
ZIP from the latest release, run the following in PowerShell as Administrator (substituting the name of the .zip
file you downloaded, as appropriate):
Expand-Archive ~/Downloads/sapling_windows_0.2.20240718-145624+f4e9df48_amd64.zip 'C:\Program Files'
This will create C:\Program Files\Sapling
, which you likely want to add to your %PATH%
environment variable using:
setx PATH "$env:PATH;C:\Program Files\Sapling" -m
Note the following tools must be installed to leverage Sapling's full feature set:
- Git for Windows is required to use Sapling with Git repositories
- Node.js (v16 or later) is required to use
sl web
Note that the name of the Sapling CLI sl.exe
conflicts with the sl
shell built-in in PowerShell (sl
is an alias for Set-Location
, which is equivalent to cd
). If you want to use sl
to run sl.exe
in PowerShell, you must reassign the alias. Again, you must run the following as Administrator:
Set-Alias -Name sl -Value 'C:\Program Files\Sapling\sl.exe' -Force -Option Constant,ReadOnly,AllScope
sl --version
Sapling 0.2.20240718-145624+f4e9df48
Linux
Ubuntu 22.04
Download using curl
:
curl -L -o sapling_0.2.20240718-145624+f4e9df48_amd64.Ubuntu22.04.deb https://github.com/facebook/sapling/releases/download/0.2.20240718-145624%2Bf4e9df48/sapling_0.2.20240718-145624%2Bf4e9df48_amd64.Ubuntu22.04.deb
Then install:
sudo apt install -y ./sapling_0.2.20240718-145624+f4e9df48_amd64.Ubuntu22.04.deb
Ubuntu 20.04
Download using curl
:
curl -L -o sapling_0.2.20240718-145624+f4e9df48_amd64.Ubuntu20.04.deb https://github.com/facebook/sapling/releases/download/0.2.20240718-145624%2Bf4e9df48/sapling_0.2.20240718-145624%2Bf4e9df48_amd64.Ubuntu20.04.deb
Then install:
sudo apt install -y ./sapling_0.2.20240718-145624+f4e9df48_amd64.Ubuntu20.04.deb
Arch Linux (AUR)
yay -S sapling-scm-bin
Other Linux distros
Sapling can be installed from Homebrew on Linux. First install Homebrew on your machine, then run
brew install sapling
Building from source
In order to build from source, you need at least the following tools available in your environment:
For the full list, find the appropriate Dockerfile
for your platform that defines the image that is used for Sapling builds in automation to see which tools it installs. For example, .github/workflows/sapling-cli-ubuntu-22.04.Dockerfile
reveals all of the packages you need to install via apt-get
in the host environment in order to build Sapling from source.
Once you have your environment set up, you can do a build on macOS or Linux as follows:
git clone https://github.com/facebook/sapling
cd sapling/eden/scm
make oss
./sl --help
To build on FreeBSD, you'll also need to setup a terminfo database and use GNU Make for the build:
pkg install gmake terminfo-db
export TERMINFO=/usr/local/share/terminfo
git clone https://github.com/facebook/sapling
cd sapling/eden/scm
gmake oss
./sl --help
The Windows build has some additional dependencies and a separate build script. From the GitHub Action used to build the Windows release, perform the steps that use vcpkg
on your local machine to install the additional dependencies. Then you can build and run Sapling on Windows as follows:
git clone https://github.com/facebook/sapling
cd sapling/eden/scm
git config --system core.longpaths true
python3 .\packaging\windows\build_windows_zip.py
.\build\embedded\sl.exe --help
Once you have Sapling installed, follow the Getting Started instructions.