upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/tests/common/git_server.rs
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2026-01-12 14:05:51 +0000
committerDanConwayDev <DanConwayDev@protonmail.com>2026-01-12 14:05:51 +0000
commit817ce37a5ee8d6279a44cf8cce3cc6a1e4bab576 (patch)
tree9fd5a6d3969afc33baa900bdab25bff81c5a83a4 /tests/common/git_server.rs
parentf25eea8cc3b940cbcaa96224485826bfaae82449 (diff)
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
Diffstat (limited to 'tests/common/git_server.rs')
-rw-r--r--tests/common/git_server.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/tests/common/git_server.rs b/tests/common/git_server.rs
index 3190901..7634968 100644
--- a/tests/common/git_server.rs
+++ b/tests/common/git_server.rs
@@ -764,6 +764,8 @@ async fn handle_info_refs_upload_pack(
764 .arg("uploadpack.allowReachableSHA1InWant=true") 764 .arg("uploadpack.allowReachableSHA1InWant=true")
765 .arg("-c") 765 .arg("-c")
766 .arg("uploadpack.allowTipSHA1InWant=true") 766 .arg("uploadpack.allowTipSHA1InWant=true")
767 .arg("-c")
768 .arg("uploadpack.allowFilter=true")
767 .arg("upload-pack") 769 .arg("upload-pack")
768 .arg("--advertise-refs") 770 .arg("--advertise-refs")
769 .arg("--stateless-rpc"); 771 .arg("--stateless-rpc");
@@ -854,6 +856,8 @@ async fn handle_upload_pack(
854 .arg("uploadpack.allowReachableSHA1InWant=true") 856 .arg("uploadpack.allowReachableSHA1InWant=true")
855 .arg("-c") 857 .arg("-c")
856 .arg("uploadpack.allowTipSHA1InWant=true") 858 .arg("uploadpack.allowTipSHA1InWant=true")
859 .arg("-c")
860 .arg("uploadpack.allowFilter=true")
857 .arg("upload-pack") 861 .arg("upload-pack")
858 .arg("--stateless-rpc"); 862 .arg("--stateless-rpc");
859 863