logo
0
0
Login
Forkfromcnb/cool/git-clone-yyds, behind:main10 commits

git-clone-yyds

badge badge badge badge badge

基于 copy-on-write 的高性能代码克隆技术。

Image

  • cnbcool/git-clone-yyds:latest

在 CNB 上使用

CNB 默认支持 git-clone-yyds,无需任何配置。

# .cnb.yml main: push: - stages: - name: ls script: ls -al

百G大仓使用 git-clone-yyds 的效果参考AOSP

仓库的云原生构建列表选择一个构建,进入构建详情页可以看到使用 git-clone-yyds 拉取的代码大小和耗时的徽章。

yyds

高性能

数秒内即可完成代码准备,支持并发。

时间复杂度

O(1)

复制操作是瞬间完成的,无视仓库大小,并发安全。

空间复杂度

O(1)

读共享,写隔离,存储空间不随并发数量膨胀。

工作原理

  1. fetch - 使用 git fetch,对 .git缓存 进行更新
  2. copy - 使用 OverlayFS.git缓存 进行复制,瞬间创建副本
  3. checkout - 在副本上进行 build
  4. clean - 构建结构后,删除副本

git-clone-yyds

About

你的仓库一点也不大~

Language
Shell82.3%
Markdown8.3%
Python6.1%
Dockerfile1.8%
Others1.5%