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
None currently. This is causing our preparing step to take ~2 minutes on average
Problem
We manage our Terraform configurations in a large monorepo. While Spacelift already performs shallow clones and supports sparse-checkout, the initial git clone operation remains a performance bottleneck for our workflows. We've observed that the preparing phase of our Spacelift runs is considerably slower than our local Terraform apply processes. The primary reason for this is the absence of support for advanced Git filters, such as --filter=blob:none. Locally, we leverage this filter to avoid downloading file contents (blobs) during the clone, which drastically reduces clone times from several minutes to mere seconds. Integrating this filtering capability into Spacelift would directly address this performance deficit, making our IaC deployment pipeline much more efficient. As our repository's size increases, the impact of this missing feature will only get worse.

Please authenticate to join the conversation.

Upvoters
Status

βœ… Completed

Board

πŸ’‘ Feature Requests

Tags

Self-hosted

Date

6 months ago

Subscribe to post

Get notified by email when there are changes.