Skip to main content

Installation

The latest release is 0.2.20240219-172743+3e819974.

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.20240219-172743+3e819974.arm64_ventura.bottle.tar.gz https://github.com/facebook/sapling/releases/download/0.2.20240219-172743%2B3e819974/sapling_0.2.20240219-172743%2B3e819974.arm64_ventura.bottle.tar.gz

Then install:

brew install ./sapling_0.2.20240219-172743+3e819974.arm64_ventura.bottle.tar.gz
Intel (x86_64)

Download using curl:

curl -L -o sapling_0.2.20240219-172743+3e819974.monterey.bottle.tar.gz https://github.com/facebook/sapling/releases/download/0.2.20240219-172743%2B3e819974/sapling_0.2.20240219-172743%2B3e819974.monterey.bottle.tar.gz

Then install:

brew install ./sapling_0.2.20240219-172743+3e819974.monterey.bottle.tar.gz
caution

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.20240219-172743+3e819974.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.20240219-172743+3e819974_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:

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.20240219-172743+3e819974

Linux

Ubuntu 22.04

Download using curl:

curl -L -o sapling_0.2.20240219-172743+3e819974_amd64.Ubuntu22.04.deb https://github.com/facebook/sapling/releases/download/0.2.20240219-172743%2B3e819974/sapling_0.2.20240219-172743%2B3e819974_amd64.Ubuntu22.04.deb

Then install:

sudo apt install -y ./sapling_0.2.20240219-172743+3e819974_amd64.Ubuntu22.04.deb

Ubuntu 20.04

Download using curl:

curl -L -o sapling_0.2.20240219-172743+3e819974_amd64.Ubuntu20.04.deb https://github.com/facebook/sapling/releases/download/0.2.20240219-172743%2B3e819974/sapling_0.2.20240219-172743%2B3e819974_amd64.Ubuntu20.04.deb

Then install:

sudo apt install -y ./sapling_0.2.20240219-172743+3e819974_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.