[PATCH v6 0/2] bundle-uri: copy all bundle references ino the refs/bundle space
- From
Scott Chacon via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Apr 25, 2025, 19:27 UTC
- Message-ID
- <pull.1897.v6.git.git.1745609278.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.1897.v5.git.git.1745607965.gitgitgadget@gmail.com>
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 <schacon@gmail.com>
+ ## 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