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 --- README.md | 1 + 1 file changed, 1 insertion(+) (limited to 'README.md') diff --git a/README.md b/README.md index 7077bc5..06f3f7f 100644 --- a/README.md +++ b/README.md @@ -114,6 +114,7 @@ See [GRASP-02 Proactive Sync](docs/explanation/grasp-02-proactive-sync.md) for f - ✅ Push validation against Nostr state events - ✅ Multi-maintainer support via recursive maintainer sets - ✅ Support for `refs/nostr/` for PRs +- ✅ Git capabilities: `allow-tip-sha1-in-want`, `allow-reachable-sha1-in-want`, `uploadpack.allowFilter` - ✅ CORS support for web-based Git clients - ✅ NIP-11 relay information document - ✅ **Purgatory**: Events without git data held for 30 minutes, auto-released when data arrives -- cgit v1.2.3