lazygit VS sapling

Compare lazygit vs sapling and see what are their differences.

lazygit

simple terminal UI for git commands (by jesseduffield)

sapling

A Scalable, User-Friendly Source Control System. (by facebook)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
lazygit sapling
145 42
45,525 5,808
- 2.4%
9.8 10.0
3 days ago 1 day ago
Go Rust
MIT License GNU General Public License v3.0 only
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.

lazygit

Posts with mentions or reviews of lazygit. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-05.

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 2024-03-04.
  • Twenty Years Is Nothing
    4 projects | news.ycombinator.com | 4 Mar 2024
    I am personally surprised that TFA didn't mention either jj or Sapling [0] given its emphasis on how both Git and svn were both made to be backwards compatible!

    [0] https://github.com/facebook/sapling

  • Jj init – getting serious about replacing Git with Jujutsu
    1 project | news.ycombinator.com | 2 Feb 2024
    Lots to digest here! I have been keeping an eye on Pijul so it is cool to see some of its features implemented in jj. Sapling[0], similarly, is a new VCS tool out there which can work with a git repo. It also has anonymous branches, no staging area, supports stacked commits and can track the history of a commit over time. I've been using a similar workflow to the article's author: git with a UI to handle commits of hunks of a file to group related changes. My working branch often has unrelated changes that get tossed from branch to branch as I am able to commit. I haven't figured out where these new tools fit into my workflow yet, but I am glad there's new options that will help making working on a project more flexible and organized.

    [0]: https://sapling-scm.com

  • Sapling – A VCS from Meta
    3 projects | news.ycombinator.com | 2 Feb 2024
  • Sapling: A Scalable, User-Friendly Source Control System
    1 project | news.ycombinator.com | 10 Dec 2023
    1 project | news.ycombinator.com | 21 Nov 2023
  • Ask HN: Can we do better than Git for version control?
    17 projects | news.ycombinator.com | 10 Dec 2023
    yep both extended it and have versions that can work against GitHub/git servers.

    sapling scm from meta has I think the best cli and VS code UX https://sapling-scm.com/

    jj from google is also mercurial derived with very similar cli features like histedit and has support for deferring conflict resolution https://github.com/martinvonz/jj

  • Your GitHub pull request workflow is slowing you down
    5 projects | /r/programming | 6 Dec 2023
  • Sapling – A Scalable, User-Friendly Source Control System
    1 project | news.ycombinator.com | 23 Nov 2023
  • Mononoke
    1 project | news.ycombinator.com | 21 Nov 2023
  • I (kind of) killed Mercurial at Mozilla
    12 projects | news.ycombinator.com | 21 Nov 2023
    As somebody who has actually been using Sapling (because it provides a much saner UI and mental model than git), the git compatibility of Sapling is at best so-so. It feels more like a stopgap solution while they're evolving their own backend (which I'm pretty sure they use internally, because git just doesn't scale to FB monorepo size and doesn't support their rebase-on-push operation). LFS flat-out doesn't work with Sapling. Force pushing after an amend or rebase is still cumbersome, because you need to explicitly specify (again) the branch you are pushing to. And I'm not sure how bad the file descriptor problem still is that you have (had?) with large repos or submodules [1]; there was a new release recently, but I haven't actually stress-tested that.

    [1] At least some of that may be due to file descriptor leaks: https://github.com/facebook/sapling/issues/464

What are some alternatives?

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

gitui - Blazing 💥 fast terminal-ui for git written in rust 🦀

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

tig - Text-mode interface for git

nextjs-template - A bit personalized version of the `with-typescript-eslint-jest` template.

vim-fugitive - fugitive.vim: A Git wrapper so awesome, it should be illegal

FTC-for-VS-Code - A VS Code extension for accessing FTC snippets, debugger, and Android cmdline tools from a button

magit - It's Magit! A Git Porcelain inside Emacs.

buck2-prelude - Prelude for the Buck2 project

diffview.nvim - Single tabpage interface for easily cycling through diffs for all modified files for any git rev.

reactide - Reactide is the first dedicated IDE for React web application development.

neogit - An interactive and powerful Git interface for Neovim, inspired by Magit

dulwich - Pure-Python Git implementation