This overview highlights a few of the interesting areas of Sapling's
📄️ Basic commands
Here are the most commonly used commands in Sapling:
Forming a mental picture of a repository is one of the largest hurdles for users learning distributed version control. A poor mental model leads to people not understanding what commands actually do, not understanding how to recover from mistakes, not being able to use advanced features, and generally leads to people copy/pasting commands they’ve memorized and then recloning when things go awry.
One of the classic difficulties of modern version control systems
Sapling’s emphasis on editing stacks of commits means users move between commits more often than with other version control systems. To make this easy and intuitive, Sapling provides a number of ways to move around your repository.
Sapling has bookmarks instead of branches. Like a Git branch, a
📄️ Stacks of commits
Sapling provides first-class support for editing and manipulating stacks of commits.
While the word "rebase" is a bit confusing, it fundamentally just means moving
📄️ Pull / push
Since Sapling keeps a full record of the mutation history of commits, most Sapling commands that modify commits can be easily undone. The sl undo command will revert the commit graph to its state prior to the last run command.
The Sapling command allows you to temporarily put pending changes off to the side, then bring them back later. Any pending changes in the working copy will be saved, reverting the working copy back to a clean state. Shelves can be named with -n for easier identification.