bundle-uri: parse bundle.heuristic=creationToken
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>
This commit is contained in:

committed by
Junio C Hamano

parent
7bc73e7b61
commit
c93c3d2fa4
@ -15,6 +15,13 @@ bundle.mode::
|
||||
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.
|
||||
|
Reference in New Issue
Block a user