c93c3d2fa4
The bundle.heuristic value communicates that the bundle list is organized to make use of the bundle.<id>.creationToken values that may be provided in the bundle list. Those values will create a total order on the bundles, allowing the Git client to download them in a specific order and even remember previously-downloaded bundles by storing the maximum creation token value. Before implementing any logic that parses or uses the bundle.<id>.creationToken values, teach Git to parse the bundle.heuristic value from a bundle list. We can use 'test-tool bundle-uri' to print the heuristic value and verify that the parsing works correctly. As an extra precaution, create the internal 'heuristics' array to be a list of (enum, string) pairs so we can iterate through the array entries carefully, regardless of the enum values. Signed-off-by: Derrick Stolee <derrickstolee@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
32 lines
1.4 KiB
Plaintext
32 lines
1.4 KiB
Plaintext
bundle.*::
|
|
The `bundle.*` keys may appear in a bundle list file found via the
|
|
`git clone --bundle-uri` option. These keys currently have no effect
|
|
if placed in a repository config file, though this will change in the
|
|
future. See link:technical/bundle-uri.html[the bundle URI design
|
|
document] for more details.
|
|
|
|
bundle.version::
|
|
This integer value advertises the version of the bundle list format
|
|
used by the bundle list. Currently, the only accepted value is `1`.
|
|
|
|
bundle.mode::
|
|
This string value should be either `all` or `any`. This value describes
|
|
whether all of the advertised bundles are required to unbundle a
|
|
complete understanding of the bundled information (`all`) or if any one
|
|
of the listed bundle URIs is sufficient (`any`).
|
|
|
|
bundle.heuristic::
|
|
If this string-valued key exists, then the bundle list is designed to
|
|
work well with incremental `git fetch` commands. The heuristic signals
|
|
that there are additional keys available for each bundle that help
|
|
determine which subset of bundles the client should download. The
|
|
only value currently understood is `creationToken`.
|
|
|
|
bundle.<id>.*::
|
|
The `bundle.<id>.*` keys are used to describe a single item in the
|
|
bundle list, grouped under `<id>` for identification purposes.
|
|
|
|
bundle.<id>.uri::
|
|
This string value defines the URI by which Git can reach the contents
|
|
of this `<id>`. This URI may be a bundle file or another bundle list.
|