Home

Awesome

Scalar

What is Scalar?

Scalar is a tool that helps Git scale to some of the largest Git repositories. It achieves this by enabling some advanced Git features, such as:

As new versions of Git are released, we update the list of features that Scalar automatically configures. This reduces your effort to keep your repositories as efficient as possible.

Scalar has moved!

Through significant effort from our team, we have successfully transitioned Scalar from a modified version of VFS for Git into a thin shell around core Git features. The Scalar executable has now been ported to be included in the microsoft/git fork. Please visit that fork for all of your Scalar needs:

Why did Scalar move?

Scalar started as a modification of VFS for Git to create a working solution with a robust test suite in a short amount of time. The goal was to depend more on features that exist within Git itself instead of creating new functionality within this project. Since the start, we have focused on this goal with efforts such as improving sparse-checkout performance in Git, implementing background maintenance in Git, and integrating the GVFS protocol into microsoft/git which allowed us to drop the Scalar.Mount process. All of these changes reduced the size of the code in Scalar itself until it could be replaced with a small command-line interface.

Additional benefits to this change include making our release and installation mechanism much simpler. Users now only need to install one tool, not multiple, to take advantage of all of the benefits.

What remains in this repository?

We are keeping the microsoft/scalar repository available since we have linked to it and want to make sure those links continue to work. We added pointers in several places to navigate readers to the microsoft/git repository for the latest versions.

We also have a large set of functional tests that verify that Scalar enlistments continue to work in a variety of advanced Git scenarios. These tests are incredibly helpful as we advance features in microsoft/git, so those tests remain in this repository. We run them as part of pull request validation in microsoft/git, so no changes are made there without passing this suite of tests.

What if I already installed Scalar and want the new version?

We are working to ensure that users on the .NET version of Scalar have a painless experience while changing to the new version.

You can check if the new Scalar version is installed correctly by running scalar version which should have the same output as git version.

License

The Scalar source code in this repo is available under the MIT license. See License.md.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.