gity vs Scalar, VFS for Git, and ProjFS

Microsoft's lineage of giant-monorepo tools versus a focused user-space Git accelerator. Where each fits.

  • #scalar
  • #vfs
  • #projfs
  • #microsoft

When to pick gity

  • You need cross-platform fsmonitor with a small footprint
  • You want a CPU/battery-aware scheduler for prefetch and maintenance
  • You have many worktrees and want shared cache between them
  • You want a focused single-purpose binary, not a curated Git workflow

When to pick Scalar / VFS for Git

  • You want one tool that wraps Git's full performance feature set with known-good defaults
  • You're on Windows-scale monorepos (think Windows OS source)
  • You want Microsoft-supported convenience commands for clone + sparse + maintenance
  • Scalar is already preinstalled with your Git distribution

TL;DR

Scalar is a curated Git workflow for giant monorepos. It enables partial clone, sparse checkout, fsmonitor, and background maintenance with known-good defaults.

gity overlaps with Scalar in one specific area — fsmonitor + maintenance — and doesn’t try to be a Git-workflow wrapper.

CapabilityScalargity
Partial clone (--filter=blob:none)(use Git directly)
Sparse checkout convenience commands(use Git directly)
fsmonitor v2✓ (uses Git’s built-in)✓ (own daemon)
Background maintenance✓ (cron-style)✓ (CPU + battery aware)
Multi-worktree shared cache
CI oneshot mode
Windows kernel dependency✗ (since Scalar)

When to pick Scalar

You want one tool that wraps Git’s full performance-oriented feature set with known-good defaults, and you work on Windows-scale monorepos. Scalar is what Microsoft uses for the Windows OS source — battle-tested at the largest scale anyone runs.

When to pick gity

You want cross-platform fsmonitor with a small footprint, a CPU/battery-aware scheduler, and shared cache across worktrees of the same repo. gity is focused on the fsmonitor + maintenance subset and doesn’t try to be a Git workflow wrapper.

Coexistence

In principle, Scalar handles repo wrapping (partial clone, sparse checkout, maintenance), gity handles fsmonitor. In practice both want the core.fsmonitor slot — pick one for any given repo.

For deeper details, see our full Microsoft-lineage comparison.

Frequently asked questions

Is ProjFS still recommended?

No. Microsoft moved away from ProjFS-based VFS for Git in favour of Scalar, which is user-space. ProjFS still exists as a Windows kernel feature, but it's no longer the recommended path for Git acceleration.

What's the relationship between GVFS, VFS for Git, and Scalar?

Same lineage: GVFS (2017) → VFS for Git (2019, rebrand) → Scalar (2021, complete rethink). GVFS/VFS used the ProjFS kernel driver; Scalar uses pure user-space Git features (partial clone, sparse checkout, fsmonitor, maintenance). Scalar is what Microsoft recommends today.

Does Scalar use fsmonitor?

Yes — Scalar enables Git's built-in fsmonitor daemon when you `scalar register` a repo. gity differs by being the fsmonitor helper itself, with multi-repo and multi-worktree coordination built in.