Skip to content

Latest commit

 

History

History
54 lines (39 loc) · 2.25 KB

index.md

File metadata and controls

54 lines (39 loc) · 2.25 KB

Scalar: Enabling Git at Scale

Scalar is a tool that helps Git scale to some of the largest Git repositories. It achieves this by enabling some advanced Git features, such as:

  • Partial clone: reduces time to get a working repository by not downloading all Git objects right away.

  • Background prefetch: downloads Git object data from all remotes every hour, reducing the amount of time for foreground git fetch calls.

  • Sparse-checkout: limits the size of your working directory.

  • File system monitor: tracks the recently modified files and eliminates the need for Git to scan the entire worktree.

  • Commit-graph: accelerates commit walks and reachability calculations, speeding up commands like git log.

  • Multi-pack-index: enables fast object lookups across many pack-files.

  • Incremental repack: Repacks the packed Git data into fewer pack-file without disrupting concurrent commands by using the multi-pack-index.

By running scalar register in any Git repo, Scalar will automatically enable these features for that repo (except partial clone) and start running suggested maintenance in the background using the git maintenance feature.

Repos cloned with the scalar clone command use partial clone or the GVFS protocol to significantly reduce the amount of data required to get started using a repository. By delaying all blob downloads until they are required, Scalar allows you to work with very large repositories quickly. The GVFS protocol allows a network of cache servers to serve objects with lower latency and higher throughput. The cache servers also reduce load on the central server.

Documentation