![]() Overall, it makes people more confident in using source control. It allows them to visually see the before-and-after effects of the commands they run. For new users, it gives them the right mental model from day one. Having this view at your fingertips changes how people approach source control. The result is a clear, concise picture of your repository that’s tailored to what matters to you, no matter how large your repo. Thousands of irrelevant commits in main are hidden behind a dashed line. Remote branches you don’t care about are not shown. Equally important, the smartlog hides all the information you don’t care about. By simply running the Sapling client with no arguments, sl, you can see all your local commits, where you are, where important remote branches are, what files have changed, and which commits are old and have new versions. The smartlog is one of the most important Sapling commands and the centerpiece of the entire user experience. It’s impossible to cover the entire user experience in a single blog post, so check out our user experience documentation to learn more.īelow, we’ll explore three particular areas of the user experience that have been so successful within Meta that we’ve had requests for them outside of Meta as well. What will stand out, though, is how every command is designed for simplicity and ease of use. Users clone a repository, make commits, amend, rebase, and push the commits back to the server. We aimed to fix that with Sapling.Ī Git user who sits down with Sapling will initially find the basic commands familiar. Historically, the usability of version control systems has left a lot to be desired developers are expected to maintain a complex mental picture of the repository, and they are often forced to use esoteric commands to accomplish seemingly simple goals. Our ambitions grew along with it, and we began thinking about how we could improve not only the scale but also the actual experience of using source control. Starting as an extension to the Mercurial open source project, it rapidly grew into a system of its own with new storage formats, wire protocols, algorithms, and behaviors. Instead, we decided to go all in and make our source control system scale. Breaking up the repository was also out of the question, as it would mean losing monorepo’s benefits, such as simplified dependency management and the ability to make broad changes quickly. ![]() Public source control systems were not, and still are not, capable of handling repositories of this size. Sapling began 10 years ago as an initiative to make our monorepo scale in the face of tremendous growth. At Meta, Sapling is primarily used for our large monolithic repository (or monorepo, for short), but the Sapling client also supports cloning and interacting with Git repositories and can be used by individual developers to work with GitHub and other Git hosting services. When used with our Sapling-compatible server and virtual file system (we hope to open-source these in the future), Sapling can serve Meta’s internal repository with tens of millions of files, tens of millions of commits, and tens of millions of branches. Git and Mercurial users will find that many of the basic concepts are familiar - and that workflows like understanding your repository, working with stacks of commits, and recovering from mistakes are substantially easier. Sapling is a source control system used at Meta that emphasizes usability and scalability. ![]() This is the first step in a longer process of making the entire Sapling system available to the world. You can now try its various features using Sapling’s built-in Git support to clone any of your existing repositories. We’ve spent the past 10 years building Sapling, a scalable, user-friendly source control system, and today we’re open-sourcing the Sapling client. ![]() It is a critical part of our developer experience and our ability to move fast, and we’ve invested heavily to build a world-class source control experience. At Meta, source control is responsible for storing developers’ in-progress code, storing the history of all code, and serving code to developer services such as build and test infrastructure. Source control is one of the most important tools for modern developers, and through tools such as Git and GitHub, it has become a foundation for the entire software industry. You can get started using Sapling today.ReviewStack is a demonstration code review UI for GitHub pull requests that integrates with Sapling to make reviewing stacks of commits easy.Sapling emphasizes usability while also scaling to the largest repositories in the world.Sapling is a new Git-compatible source control client.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |