{"id":13678826,"url":"https://github.com/microsoft/scalar","last_synced_at":"2025-05-14T13:05:49.376Z","repository":{"id":37761787,"uuid":"201114820","full_name":"microsoft/scalar","owner":"microsoft","description":"Scalar: A set of tools and extensions for Git to allow very large monorepos to run on Git without a virtualization layer","archived":false,"fork":false,"pushed_at":"2025-02-24T12:09:50.000Z","size":9110,"stargazers_count":1437,"open_issues_count":0,"forks_count":67,"subscribers_count":26,"default_branch":"main","last_synced_at":"2025-05-07T23:47:43.473Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"License.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-08-07T19:27:18.000Z","updated_at":"2025-05-06T02:48:29.000Z","dependencies_parsed_at":"2022-07-12T16:51:48.098Z","dependency_job_id":"fd66f1f4-65eb-4be1-b7f8-75d861614f8c","html_url":"https://github.com/microsoft/scalar","commit_stats":{"total_commits":2155,"total_committers":53,"mean_commits":"40.660377358490564","dds":0.760092807424594,"last_synced_commit":"1f66ccf37864e25fc27c0b786b425eb2695f814e"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fscalar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fscalar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fscalar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2Fscalar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/scalar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254149919,"owners_count":22022851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T13:00:58.772Z","updated_at":"2025-05-14T13:05:49.352Z","avatar_url":"https://github.com/microsoft.png","language":"C#","funding_links":[],"categories":["others","C#","C# #"],"sub_categories":[],"readme":"![Scalar](Images/scalar-card.png)\n\n## What is Scalar?\n\nScalar is a tool that helps Git scale to some of the largest Git repositories.\nIt achieves this by enabling some advanced Git features, such as:\n\n* *Partial clone:* reduces time to get a working repository by not\n  downloading all Git objects right away.\n\n* *Background prefetch:* downloads Git object data from all remotes every\n  hour, reducing the amount of time for foreground `git fetch` calls.\n\n* *Sparse-checkout:* limits the size of your working directory.\n\n* *File system monitor:* tracks the recently modified files and eliminates\n  the need for Git to scan the entire worktree.\n\n* *Commit-graph:* accelerates commit walks and reachability calculations,\n   speeding up commands like `git log`.\n\n* *Multi-pack-index:* enables fast object lookups across many pack-files.\n\n* *Incremental repack:* Repacks the packed Git data into fewer pack-file\n  without disrupting concurrent commands by using the multi-pack-index.\n\nAs new versions of Git are released, we update the list of features that\nScalar automatically configures. This reduces your effort to keep your\nrepositories as efficient as possible.\n\n## Scalar has moved!\n\nThrough significant effort from our team, we have successfully transitioned\nScalar from a modified version of [VFS for Git][vfsforgit] into a thin shell\naround core Git features. The Scalar executable has now been ported to be\nincluded [in the `microsoft/git` fork][microsoft-git]. Please visit that\nfork for all of your Scalar needs:\n\n* Download [the latest `microsoft/git` release][releases].\n* Read [the Scalar documentation][docs].\n* Contribute changes [to the `scalar` CLI][scalar-cli].\n\n### Why did Scalar move?\n\nScalar started as a modification of [VFS for Git][vfsforgit] to\ncreate a working solution with a robust test suite in a short amount of\ntime. The goal was to depend more on features that exist within Git itself\ninstead of creating new functionality within this project. Since the start,\nwe have focused on this goal with efforts such as\n[improving sparse-checkout performance in Git][sparse-checkout-blog],\n[implementing background maintenance in Git][background-maintenance],\nand [integrating the GVFS protocol into `microsoft/git`][remove-read-object]\nwhich allowed us to [drop the `Scalar.Mount` process][remove-mount].\nAll of these changes reduced the size of the code in Scalar itself until\nit could be replaced [with a small command-line interface][scalar-cli].\n\n[sparse-checkout-blog]: https://github.blog/2020-01-17-bring-your-monorepo-down-to-size-with-sparse-checkout/\n[background-maintenance]: https://github.blog/2021-03-15-highlights-from-git-2-31/#introducing-git-maintenance\n[remove-read-object]: https://github.com/microsoft/scalar/pull/122\n[remove-mount]: https://github.com/microsoft/scalar/pull/222\n\nAdditional benefits to this change include making our release and\ninstallation mechanism much simpler. Users now only need to install one\ntool, not multiple, to take advantage of all of the benefits.\n\n### What remains in this repository?\n\nWe are keeping the `microsoft/scalar` repository available since we have\nlinked to it and want to make sure those links continue to work. We\nadded pointers in several places to navigate readers to the `microsoft/git`\nrepository for the latest versions.\n\nWe also have a large set of functional tests that verify that Scalar\nenlistments continue to work in a variety of advanced Git scenarios. These\ntests are incredibly helpful as we advance features in `microsoft/git`, so\nthose tests remain in this repository. We run them as part of pull request\nvalidation in `microsoft/git`, so no changes are made there without passing\nthis suite of tests.\n\n### What if I already installed Scalar and want the new version?\n\nWe are working to ensure that users on the .NET version of Scalar have a\npainless experience while changing to the new version.\n\n* On Windows, users can [install `microsoft/git`][windows-install] and the\n  installer will remove the .NET version and update any registered\n  enlistments to work with the new version.\n\n* On macOS, users should run `brew uninstall --cask scalar` or\n  `brew uninstall --cask scalar-azrepos` depending on their version and\n  then run `brew install --cask microsoft-git` to get the new version.\n  At the moment, users on macOS will need to re-run `scalar register`\n  on their enlistments to ensure they are registered for future upgrades.\n\n* On Linux, there is no established uninstall mechanism, but the .NET\n  version can be removed via `sudo rm -rf /usr/local/lib/scalar/`. Installing\n  the new version will overwrite the `scalar` binary in `/usr/local/bin`.\n  At the moment, users on Linux will need to re-run `scalar register`\n  on their enlistments to ensure they are registered for future upgrades.\n\nYou can check if the new Scalar version is installed correctly by running\n`scalar version` which should have the same output as `git version`.\n\n## License\n\nThe Scalar source code in this repo is available under the MIT license. See [License.md](License.md).\n\n## Code of Conduct\n\nThis project has adopted the [Microsoft Open Source Code of Conduct][conduct-code].\nFor more information see the [Code of Conduct FAQ][conduct-FAQ] or contact [opencode@microsoft.com][conduct-email] with any additional questions or comments.\n\n[vfsforgit]: https://github.com/microsoft/vfsforgit\n[microsoft-git]: https://github.com/microsoft/git\n[releases]: https://github.com/microsoft/git/releases\n[windows-install]: https://github.com/microsoft/git#windows\n[docs]: https://github.com/microsoft/git/blob/HEAD/contrib/scalar/docs/index.md\n[scalar-cli]: https://github.com/microsoft/git/blob/HEAD/contrib/scalar/scalar.c\n[conduct-code]: https://opensource.microsoft.com/codeofconduct/\n[conduct-FAQ]: https://opensource.microsoft.com/codeofconduct/faq/\n[conduct-email]: mailto:opencode@microsoft.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fscalar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fscalar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fscalar/lists"}