From 817ce37a5ee8d6279a44cf8cce3cc6a1e4bab576 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Mon, 12 Jan 2026 14:05:51 +0000 Subject: feat: add uploadpack.allowFilter support for GRASP-01 compliance Add mandatory uploadpack.allowFilter capability to support partial clones and fetches as required by GRASP-01 specification. This enables efficient git operations for bandwidth-constrained clients (e.g., browser-based git clients like git-natural-api). Changes: - Add uploadpack.allowFilter=true to git subprocess configuration - Update SmartGitServer test helper with filter support - Add integration tests for filter capability advertisement and functionality - Update documentation to reflect filter as required capability Tests verify: - Filter capability is advertised in info/refs - Filtered clones with blob:none work correctly - Filtered fetches with tree:0 work correctly --- docs/learnings/grasp-01-implementation.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'docs/learnings/grasp-01-implementation.md') diff --git a/docs/learnings/grasp-01-implementation.md b/docs/learnings/grasp-01-implementation.md index 14ab452..27124af 100644 --- a/docs/learnings/grasp-01-implementation.md +++ b/docs/learnings/grasp-01-implementation.md @@ -42,7 +42,8 @@ - ✅ Recursive maintainer chain support - ✅ HEAD set from state events - ✅ `refs/nostr/` support for PRs -- ✅ `allow-tip-sha1-in-want` and `allow-reachable-sha1-in-want` +- ✅ `allow-tip-sha1-in-want` and `allow-reachable-sha1-in-want` (GRASP-01 requirement) +- ✅ `uploadpack.allowFilter` for partial clone support (required by git-natural-api) --- -- cgit v1.2.3