Skip to main content

Installation

The latest release is 0.1.20221118-210929-cfbb68aa.

Prebuilt binaries

macOS

First, make sure that Homebrew is installed on your system. Then follow the instructions depending on your architecture.

Apple silicon (arm64)

Download using curl:

curl -L -O https://github.com/facebook/sapling/releases/download/0.1.20221118-210929-cfbb68aa/sapling_0.1.20221118-210929-cfbb68aa.arm64_monterey.bottle.tar.gz

Then install:

brew install ./sapling_0.1.20221118-210929-cfbb68aa.arm64_monterey.bottle.tar.gz

Intel (x86_64)

Download using curl:

curl -L -O https://github.com/facebook/sapling/releases/download/0.1.20221118-210929-cfbb68aa/sapling_0.1.20221118-210929-cfbb68aa.monterey.bottle.tar.gz

Then install:

brew install ./sapling_0.1.20221118-210929-cfbb68aa.monterey.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 1048576" >> ~/.bash_profile
echo "ulimit -n 1048576 1048576" >> ~/.zshrc
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.1.20221118-210929-cfbb68aa.arm64_monterey.bottle.tar.gz

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):

PS> Expand-Archive ~/Downloads/sapling_windows_0.1.20221118-210929-cfbb68aa_amd64.zip 'C:\Program Files'

This will create C:\Program Files\Sapling, which you likely want to add to your %PATH% environment variable using:

PS> 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:

PS> Set-Alias -Name sl -Value 'C:\Program Files\Sapling\sl.exe' -Force -Option Constant,ReadOnly,AllScope
PS> sl --version
Sapling 0.1.20221118-210929-cfbb68aa

Linux

Ubuntu 22.04

Download using curl:

curl -L -O https://github.com/facebook/sapling/releases/download/0.1.20221118-210929-cfbb68aa/sapling_0.1.20221118-210929-cfbb68aa_amd64.Ubuntu22.04.deb

Then install:

sudo apt install -y ./sapling_0.1.20221118-210929-cfbb68aa_amd64.Ubuntu22.04.deb

Ubuntu 20.04

Download using curl:

curl -L -O https://github.com/facebook/sapling/releases/download/0.1.20221118-210929-cfbb68aa/sapling_0.1.20221118-210929-cfbb68aa_amd64.Ubuntu20.04.deb

Then install:

sudo apt install -y ./sapling_0.1.20221118-210929-cfbb68aa_amd64.Ubuntu20.04.deb

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 as follows:

git clone https://github.com/facebook/sapling
cd sapling/eden/scm
make oss
./sl --help

Once you have Sapling installed, follow the Getting Started instructions.