What is Scalar?
Scalar is a C# application that manages large Git repositories.
scalar register in an existing Git repo to enable recommended config
settings and start background maintenance.
If your repo is hosted on a service that supports the
such as Azure Repos, then
scalar clone <url> will create a local enlistment with
abilities like on-demand object retrieval, background maintenance tasks, and
automatically sets Git config values and hooks that enable performance enhancements.
Scalar also assists in setting up sparse enlistments.
See the documentation for more details.
Table of Contents
Installing on macOS
To install Scalar on macOS,
Installers_macOS_Release.zip from the releases page.
cd into it, and run
./InstallScalar.sh in a Terminal window.
The script may prompt for your password as it installs the following components:
- Git (with custom patches)
- Git Credential Manager Core
- Watchman, unless you use the
Installing on Windows
To install Scalar on Windows,
Installers_Windows_Release.zip from the releases page.
Installers_Windows_Release folder, open it in a command prompt, and
InstallScalar.bat. This will install the following components:
If you want to get a feel for an initial workflow with a test project, here are some commands that clone our test repo and initialize some of the sparse content.
(Run these commands in Mac OSX Terminal or in Git Bash on Windows.)
$ scalar clone https://dev.azure.com/gvfs/ci/_git/ForTests Clone parameters: Repo URL: https://dev.azure.com/gvfs/ci/_git/ForTests Branch: Default Cache Server: Default Local Cache: C:\.scalarCache Destination: C:\_git\ForTests FullClone: False Authenticating...Succeeded Querying remote for config...Succeeded Using cache server: None (https://dev.azure.com/gvfs/ci/_git/ForTests) Cloning...Succeeded Fetching commits and trees from origin (no cache server)...Succeeded Configuring Watchman...Succeeded. Validating repo...Succeeded $ cd ForTests/src $ ls AuthoringTests.md GvFlt_EULA.md GVFS.sln License.md nuget.config Protocol.md Readme.md Settings.StyleCop $ git sparse-checkout set GVFS/GVFS.Common GVFS/GVFS.UnitTests GitHooksLoader $ ls AuthoringTests.md GitHooksLoader/ GvFlt_EULA.md GVFS/ GVFS.sln License.md nuget.config Protocol.md Readme.md Settings.StyleCop $ ls GVFS GVFS.Common/ GVFS.UnitTests/ LibGit2Sharp.NativeBinaries.props ProjectedFSLib.NativeBinaries.props $ git sparse-checkout set GVFS/GVFS GVFS/GVFS.Common GVFS/GVFS.UnitTests GitHooksLoader $ ls GVFS GVFS/ GVFS.Common/ GVFS.UnitTests/ LibGit2Sharp.NativeBinaries.props ProjectedFSLib.NativeBinaries.props
The Scalar source code in this repo is available under the MIT license. See License.md.