From fe16b4c8ac0643ed45c4de747fb231d5882361f0 Mon Sep 17 00:00:00 2001 From: Roland Groza Date: Thu, 17 Sep 2026 17:09:15 +0900 Subject: [PATCH] docs: clarify how partial clones are handled --- src/git.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/git.rs b/src/git.rs index 1e52b3a..71121a0 100644 --- a/src/git.rs +++ b/src/git.rs @@ -2,8 +2,10 @@ //! Git plumbing: keep a bare mirror fresh and serve `upload-pack` from it. //! //! All git work is delegated to the system `git` binary, so protocol -//! correctness - including protocol v2, shallow and partial (filtered) clones - -//! comes for free. The proxy never reimplements the wire format; it only: +//! correctness - protocol v2, shallow and partial (filtered) clones - comes from +//! `git` itself, not a reimplemented wire format. (Partial clone additionally +//! needs `uploadpack.allowFilter`, which the serve path sets; see `local_cmd`.) +//! The proxy only: //! 1. maps a request to a bare mirror under the cache root, //! 2. runs an incremental `git fetch` from upstream (coalesced per repo), //! 3. streams `git upload-pack` output from the local mirror to the client.