Skip to main content

Support Git Filters on Clone

Add support for Git's tree-ish filters during the clone process, specifically --filter=blob:none. This will significantly improve clone performance for large monorepos within Spacelift by preventing the download of file contents (blobs) at the initial clone stage.

Workaround
Problem
Status: ✅ Completed5 comments

Log in to comment and vote

Comments5

  • Yellow Oak

    •

    Oct 22

    Sparse checkout didn’t deliver the speedup this post was closed for, so please reopen it. Measured on ~70 runs across 10 of our stacks: sparse paths are applied after a full depth-1 fetch with no blob filter, so each run still downloads a ~415 MB pack and PREPARING spends 50-66 s on it, whether the stack checks out one folder or many. A partial clone (filter=blob:none) with the same sparse paths is 16-32 MiB, about 8-12 s. Narrower paths, the feature:enable_git_checkout label and tarball mode (103 s) don’t help. Related open request: https://feedback.spacelift.io/p/native-git-support. Example run: 01M5F6TSDK7PDETKAQM02RW29J.

  • Black Breeze

    •

    Sep 5, 2025

    I’m going to close this now as complete, via sparse checkout functionality. Please give it a chance over a few weeks and reopen if expected speedup is not achieved.

  • Black Breeze

    •

    Sep 4, 2025

    Landon, we’re launching sparse checkout capability next week, do you think it would address the core problem?