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

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

MIT
Windows
微软
2020-02-19
局长

疫情之下,程序员如何转型?共享数字化转型加速度,就在微软在线技术峰会>>>

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
的码云指数为
超过 的项目
加载中

评论(4)

麦壳饼
麦壳饼
Linux下git本身就很快!不需要
l
lanika
怎么下载不了
李永波
李永波
为什么不支持Linux
n
neocean
估计是linux的文件管理系统不支持

微软开源 Scalar,提升操作巨型 Git 仓库的速度

Git 属于分布式版本控制系统,默认情况下,每个 Git 仓库都具有整个历史记录的完整文件副本。即便是中等规模的开发团队也会产生数千个提交,每个月向仓库添加几百兆的数据。而随着仓库的占用...

02/18 08:15

没有更多内容

加载失败,请刷新页面

没有更多内容

暂无问答

OpenCv 1.x绘出CvBox2D

下面给出一个用cvDrawContours 要绘出一个自定义的CvSeq 的方法,demo:DrawBox2D

2016/08/01 14:29
91
0
有关freemarker的语法,循环,逻辑

==============常用语法================= 三. EG.一个对象BOOK 1.输出 ${book.name} 空值判断:${book.name?if_exists }, ${book.name?default(‘xxx’)}//默认值xxx ${ book.name!"xxx"}...

2010/03/24 14:24
1.3W
0
cv:: split、calcHist、normalize、line直方图计算

yuanzhen@bogon:~/C_script$ cat seven.cpp #include <iostream> #include <string> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <boost/prog...

2016/10/14 19:26
502
0
json_decode参数

mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] ) 接受一个 JSON 编码的字符串并且把它转换为 PHP 变量 json 待解码的 json strin...

2016/11/16 11:21
259
0
OpenCV 3 floodFill(漫水填充)、图片的放大缩小 pyrUp、pyrDown、Resize JAVA OpenCV专题学习10

本章主要讲解在 JAVA 下如何实现 floodfill 漫水填充,图片放大缩小 pyrUp、pyrDown、resize

2018/04/27 15:15
3.2K
0
Python Class template

#!/usr/local/bin/python ''' Sample Classes Holds the Sample Classes (base and inherited). Some Informative Notes Goes Here ... Revision: 1.0 $Date: 24/07/2007 21:00$ History ---...

2010/09/25 14:46
233
0
python matplotlib库基本图形展示

python matplotlib库基本图形展示 matplotlib 为python下的一个可视化库,它提供了很好的二维甚至三维的图形展示接口。如下是matplotlib的一些基本数据实现方式 散点图 import matplotlib.py...

2018/05/13 18:01
1.9K
0
XMLConfiguration中不能使用英文逗号的解决办法

最近使用apache common的XMLConfiguration来解析XML文件,最后发现这个工具在截取XML时遇到英文逗号,会自动截断。导致XML中属性值等不能用这个符号。 开始的时候,我用其他符号来代替英文逗...

2015/11/25 10:29
164
0
Robot Framework List的使用

和Scalar类似的赋值,除了用Set Variable还可以用Create List。

2016/04/28 16:32
1.1K
1
图像清晰度的评价算法

**//eva 图像清晰度评价算法** ``` double EvaImageDefinition(IplImage *roiImg) { _IplROI *rect=roiImg->roi; int height=rect->height; int width=rect->width; uchar *pData=(uchar *)r...

2016/08/30 16:53
2.4K
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部