An overview of Sapling's UI

Greg Foster
Greg Foster
Graphite software engineer

Sapling's Intuitive UI has been crafted with a focus on simplifying the development process by streamlining common source control workflows. It scales seamlessly for both small and the world’s largest repositories, ensuring ease of use without compromising on performance.

Undo/Redo Interaction:

  • Interactive undo UI allows for a visual representation of commits that will be removed or modified, simplifying the rollback process.

  • Useful for retrieving old commit hashes which can be used to view and recover commits with sl show HASH and sl unhide HASH.

Web Interface:

  • Accessible via http://localhost:3011/?token=, the web UI presents the commit history, open PRs, diffs, amends, commits, and synchronizes changes with the server.

  • The web UI has been compared to other GUI tools like GitKraken, suggesting that while it may not be the primary choice for all users, it provides a familiar and useful interface for those transitioning from other systems.

Commit Interaction:

  • Sapling's UI facilitates working with commits, showcasing the history and providing mechanisms to amend and sync changes efficiently.

Review and Pull Request Integration:

  • Sapling integrates with ReviewStack, a UI for browsing GitHub pull requests, providing a seamless experience for reviewing and managing pull requests.

  • A command-line feature allows viewing the statuses of pull requests, adding convenience to the review process.

Sapling’s user interface is purposefully minimalistic, focusing on ease of use and understanding. Its commands and interactions are designed to be intuitive, allowing users to focus more on their code and less on managing the complexities of version control.

File and Commit Management:

  • Changes to files are automatically reflected in the UI, similar to running sl status.

  • File status is clearly indicated through color-coding and icons, allowing for easy identification of modified, added, or removed files.

Command Queueing:

  • Similar to chaining commands in CLI, Sapling's UI queues commands as you interact with it, allowing for a non-blocking workflow.

  • This system ensures that if a command fails or encounters a merge conflict, subsequent queued commands are canceled, preventing further issues.

Navigation and Repository Movement:

  • Emphasizing the management of commit stacks, Sapling provides various intuitive ways to navigate through the repository.
  • Basic commands in Sapling, such as clone, amend, rebase, hide, and uncommit, are familiar to Git and Mercurial users.

  • The commands are designed not to reinvent the wheel but to enhance the user's ability to manage their source control with an intuitive and powerful system.

  • The Sapling VS Code extension changelog provides users with the latest updates to the web UI, ensuring they are kept informed of new features and improvements.
Git inspired
Graphite's CLI and VS Code extension make working with Git effortless.
Learn more

Graphite
Git stacked on GitHub

Stacked pull requests are easier to read, easier to write, and easier to manage.
Teams that stack ship better software, faster.

Or install our CLI.
Product Screenshot 1
Product Screenshot 2