sapling VS jj

Compare sapling vs jj and see what are their differences.

sapling

A Scalable, User-Friendly Source Control System. (by facebook)

jj

A Git-compatible VCS that is both simple and powerful (by jj-vcs)
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
sapling jj
61 53
6,654 23,142
0.8% 6.3%
10.0 10.0
4 days ago 7 days ago
Rust Rust
GNU General Public License v3.0 only Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

sapling

Posts with mentions or reviews of sapling. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-10-22.
  • SourceFS: A 2h+ Android build becomes a 15M task with a virtual filesystem
    2 projects | news.ycombinator.com | 22 Oct 2025
    The headline times are a bit ridiculous. Are they trying to turn https://github.com/facebook/sapling/blob/main/eden/fs/docs/O... or some git fuse thing into a product?
  • Jujutsu for Everyone
    13 projects | news.ycombinator.com | 31 Aug 2025
    You might be interested in how this problem was solved by our team at Meta, in EdenFS (https://github.com/facebook/sapling/blob/main/eden/fs/docs/O...) and Watchman: https://github.com/facebook/watchman.

    What you're describing is reasonably similar to EdenFS, except EdenFS runs in userspace.

    Watchman layers a consistent view of file metadata on top of inotify (etc), as well as providing stateless queries on top of EdenFS. It acts as a unified interface over regular filesystems as well as Eden.

    Back in the day, Watchman sped up status queries by over 5x for a repo with hundreds of thousands of files: https://engineering.fb.com/2014/01/07/core-infra/scaling-mer... I worked directly on this and co-wrote this blog post.

    In truth, getting these working was a very difficult systems problem with a ton of event ordering and cache invalidation concerns. For smaller repos, it is much simpler to do linear scans. Since it is really fast on modern hardware anyway, it is also the right thing to do, following the maxim of doing the simplest thing that works.

  • Ask HN: Why Did Mercurial Die?:(
    1 project | news.ycombinator.com | 5 Aug 2025
    It's not really anything like Mercurial anymore. It superficially resembles "hg" but it's a very hacked fork. It's more like sappling. https://sapling-scm.com
  • Sapling Version Control System
    1 project | news.ycombinator.com | 22 Jul 2025
  • Jujutsu for Busy Devs
    17 projects | news.ycombinator.com | 21 Jul 2025
    How does this compare to sapling? https://github.com/facebook/sapling
  • Sapling
    1 project | news.ycombinator.com | 21 Jul 2025
  • Pyrefly vs. Ty: Comparing Python's Two New Rust-Based Type Checkers
    8 projects | news.ycombinator.com | 27 May 2025
    Coming from a Meta background (not speaking on behalf of Meta):

    "package/dependency management" - Everything is checked into a monorepo, and built with [Buck2](https://buck2.build/). There's tooling to import/update packages, but no need to reinvent pip or other package managers. Btw, Buck2 is pretty awesome and supports a ton of languages beyond python, but hasn't gotten a ton of traction outside of Meta.

    "linting, formatting" - [Black](https://github.com/psf/black) and other public ecosystem tooling is great, no need to develop internally.

    "why is type checking the exception" - Don't know about Astral, but for Meta / Google, most everyone else doesn't design for the scale of their monorepos. Meta moved from SVN to Git to Mercurial, then forked Mercurial into [Sapling](https://sapling-scm.com/) because simple operations were too slow for the number of files in their repo, and how frequently they receive diffs.

    There are obvious safety benefits to type checking, but with how much Python code Meta has, mypy is not an option - it would take far too much time / memory to provide any value.

  • Firefox Moves to GitHub
    17 projects | news.ycombinator.com | 12 May 2025
    Is it still used there? I know they did in the past, but reading up a bit on the background on all of this I found https://github.com/facebook/sapling
  • Pyrefly
    6 projects | news.ycombinator.com | 29 Apr 2025
    Sapling is actively developed, not "dead after 3 months": https://github.com/facebook/sapling/commits/main/

    Have not tried building Buck2 (no personal use for it), but its also actively developed: https://github.com/facebook/buck2/commits/main/

  • The next generation of Bazel builds
    4 projects | news.ycombinator.com | 10 Apr 2025
    https://github.com/facebook/sapling/tree/main/eden

    I'm still unsure if a complete, viable eden solution was released with all of its necessary components.

jj

Posts with mentions or reviews of jj. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-12-05.
  • Jujutsu v0.36.0 Released
    1 project | news.ycombinator.com | 6 Dec 2025
    1 project | news.ycombinator.com | 4 Dec 2025
  • Stacked Diffs with Git Rebase –Onto
    3 projects | news.ycombinator.com | 5 Dec 2025
    Jujutsu comes in handy here for the same usecase:

    https://github.com/jj-vcs/jj

    https://www.stavros.io/posts/switch-to-jujutsu-already-a-tut...

  • My Dev Tool List 2025
    15 projects | dev.to | 2 Dec 2025
    sudo apt install -y \ fzf \ fd-find \ ripgrep \ bat \ tmux # eza (modern ls) sudo apt install -y gpg sudo mkdir -p /etc/apt/keyrings wget -qO- https://raw.githubusercontent.com/eza-community/eza/main/deb.asc | sudo gpg --dearmor -o /etc/apt/keyrings/gierens.gpg echo "deb [signed-by=/etc/apt/keyrings/gierens.gpg] http://deb.gierens.de stable main" | sudo tee /etc/apt/sources.list.d/gierens.list sudo apt update && sudo apt install -y eza # delta (git pager) DELTA_VERSION="0.18.2" wget https://github.com/dandavison/delta/releases/download/${DELTA_VERSION}/git-delta_${DELTA_VERSION}_amd64.deb sudo dpkg -i git-delta_${DELTA_VERSION}_amd64.deb rm git-delta_${DELTA_VERSION}_amd64.deb # mise (version manager) curl https://mise.run | sh # jj (Jujutsu) curl -LsSf https://github.com/jj-vcs/jj/releases/latest/download/jj-x86_64-unknown-linux-musl.tar.gz | tar xzf - -C ~/.local/bin jj # gh (GitHub CLI) curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list sudo apt update && sudo apt install -y gh # Setup chezmoi and pull your dotfiles sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply YOUR_GITHUB_USERNAME
  • A Gaggle of Agents
    6 projects | dev.to | 30 Nov 2025
    I'm using the jj VCS here, which I recommend looking into for this kind of setup, but you can use a standard git commit/git push flow instead if you prefer.
  • Google Antigravity
    3 projects | news.ycombinator.com | 18 Nov 2025
    Hadn't heard of jj, it's a source control tool that advertises that it's fast and compatible with the git on disk format. https://github.com/jj-vcs/jj
  • Jujutsu v0.35.0 Released
    1 project | news.ycombinator.com | 7 Nov 2025
  • Jj v0.35.0 Released
    1 project | news.ycombinator.com | 6 Nov 2025
  • Jujutsu at Google • Martin von Zweigbergk JJ Con [video]
    2 projects | news.ycombinator.com | 30 Oct 2025
    git has rere, but jj doesn't because its equivalent is built in. https://github.com/jj-vcs/jj/issues/175#issuecomment-1079831... is some discussion about the differences here.
  • You Have a Git Server
    4 projects | news.ycombinator.com | 26 Oct 2025
    Case one: you don't need staging. You can stash, or just commit and checkout HEAD^

    Case two: you don't need staging. You can stash, and then unstash incrementally (I would be shocked if git doesn't have the equivalent of `hg unshelve --interactive` and its keyboard friendly TUI)

    Case three: you don't need staging. You can just edit/amend the series (rebase --interactive I believe you guys call that).

    That is to say, all that you want to put in your stash, you could commit directly to the DAG, and edit to your convenience, with the regular history-rewriting tools already at your disposal. And the off-DAG stuff can be handled by stash (and even there, a normal commit that you would rebase to its destination would perfectly do).

    And what I described is incidentally what https://github.com/jj-vcs/jj does, which can be pretty-well described as "taking the best of all major VCSes"

What are some alternatives?

When comparing sapling and jj you can also consider the following projects:

hermit - Hermit launches linux x86_64 programs in a special, hermetically isolated sandbox to control their execution. Hermit translates normal, nondeterministic behavior, into deterministic, repeatable behavior. This can be used for various applications, including replay-debugging, reproducible artifacts, chaos mode concurrency testing and bug analysis.

lazygit - simple terminal UI for git commands

dulwich - Pure-Python Git implementation

firefox - The official repository of Mozilla's Firefox web browser.

go-git - A highly extensible Git implementation in pure Go.

git-pr - A pastebin supercharged for git collaboration

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured

Did you know that Rust is
the 5th most popular programming language
based on number of references?