Subject: [PATCH v6 0/2] bundle-uri: copy all bundle references ino the refs/bundle space

From: "Scott Chacon via GitGitGadget" <[email-masked]>
Date: Fri, 25 Apr 2025 19:27:56 +0000

Edit the documentation to update the refspec and remove the untrue statement
that it can be configured.

> bundle-uri: copy all bundle references ino the refs/bundle space
> bundle-uri: update bundle clone tests with new refspec path

Scott Chacon (2):
  bundle-uri: copy all bundle references ino the refs/bundle space
  bundle-uri: add test for bundle-uri clones with tags

 Documentation/technical/bundle-uri.adoc |  14 +-
 bundle-uri.c                            |   2 +-
 t/t5558-clone-bundle-uri.sh             | 202 ++++++++++++++----------
 3 files changed, 124 insertions(+), 94 deletions(-)

base-commit: f65182a99e545d2f2bc22e6c1c2da192133b16a3
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1897%2Fschacon%2Fsc-more-bundle-refs-v6
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1897/schacon/sc-more-bundle-refs-v6
Pull-Request: https://github.com/git/git/pull/1897

Range-diff vs v5:

 1:  6957ee2fed2 ! 1:  d6ec5c87b43 bundle-uri: copy all bundle references ino the refs/bundle space
     @@ Commit message
      
          Signed-off-by: Scott Chacon <[email-masked]>
      
     + ## Documentation/technical/bundle-uri.adoc ##
     +@@ Documentation/technical/bundle-uri.adoc: will interact with bundle URIs according to the following flow:
     +    are present in the client repository. If some are missing, then the
     +    client delays unbundling until other bundles have been unbundled,
     +    making those OIDs present. When all required OIDs are present, the
     +-   client unbundles that data using a refspec. The default refspec is
     +-   `+refs/heads/*:refs/bundles/*`, but this can be configured. These refs
     +-   are stored so that later `git fetch` negotiations can communicate each
     +-   bundled ref as a `have`, reducing the size of the fetch over the Git
     +-   protocol. To allow pruning refs from this ref namespace, Git may
     +-   introduce a numbered namespace (such as `refs/bundles/<i>/*`) such that
     +-   stale bundle refs can be deleted.
     ++   client unbundles that data using a refspec. The refspec used is
     ++   `+refs/*:refs/bundles/*`. These refs are stored so that later 
     ++   `git fetch` negotiations can communicate each bundled ref as a `have`,
     ++   reducing the size of the fetch over the Git protocol. To allow pruning
     ++   refs from this ref namespace, Git may introduce a numbered namespace
     ++   (such as `refs/bundles/<i>/*`) such that stale bundle refs can be
     ++   deleted.
     + 
     + 3. If the file is instead a bundle list, then the client inspects the
     +    `bundle.mode` to see if the list is of the `all` or `any` form.
     +
       ## bundle-uri.c ##
      @@ bundle-uri.c: static int unbundle_from_file(struct repository *r, const char *file)
       		const char *branch_name;
 2:  ec5d629f32b = 2:  825d2b01eae bundle-uri: add test for bundle-uri clones with tags

-- 
gitgitgadget