Scalar - C# 实现的巨型 Git 仓库管理工具


MIT
Windows
Objective-C

软件简介

Scalar 是一个使用 C# 编写的 .NET Core 应用程序, 仅支持在 Windows 和 macOS 平台中运行 。Scalar
通过设置所建议的配置值和运行后台维护来最大程度优化 Git 命令的性能。无论开发者使用什么服务来托管代码仓库,Scalar 都能有效地加速 Git 指令。

微软表示,只要使用 Scalar 为体积最大的代码仓库进行注册,就能马上感受到 Git 执行速度大的幅提升。

Scalar 目前使用稀疏检出而非虚拟文件系统,因此在执行 Git 命令时会存在瓶颈,特别是git checkout 的速度不及 VFS for
Git,微软正在研究并行版本的git checkout,以提高执行性能。

使用示例

使用以下命令克隆测试仓库并初始化一些稀疏内容,在 macOS
Terminal 或 Windows 的 Git Bash 中运行这些命令。

$ 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