We are preparing to integrate the path-walk API with some --filter options in 'git pack-objects', but there is a subtle issue that is revealed when those are put together and the test suite is run with GIT_TEST_PACK_PATH_WALK=1. When a filter reduces the set of requested objects, this results in filtering out directly-requested objects, such as in the download of needed blobs in a blobless partial clone. The root cause is that the scan of pending objects in the path-walk API respects the filters set in the path_walk_info instead of overriding them for pending objects. We can tell that a path is part of the directly-referenced objects if its path name starts with '/' (other paths, including root trees never have this starting character). Create a path_is_for_direct_objects() to make this meaning clear, especially as we add more references in the future as we integrate the path-walk API with partial clone filter options. Signed-off-by: Derrick Stolee <stolee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| api-error-handling.adoc | ||
| api-index-skel.adoc | ||
| api-index.sh | ||
| api-merge.adoc | ||
| api-parse-options.adoc | ||
| api-path-walk.adoc | ||
| api-simple-ipc.adoc | ||
| api-trace2.adoc | ||
| bitmap-format.adoc | ||
| build-systems.adoc | ||
| bundle-uri.adoc | ||
| commit-graph.adoc | ||
| directory-rename-detection.adoc | ||
| hash-function-transition.adoc | ||
| large-object-promisors.adoc | ||
| long-running-process-protocol.adoc | ||
| meson.build | ||
| multi-pack-index.adoc | ||
| pack-heuristics.adoc | ||
| packfile-uri.adoc | ||
| parallel-checkout.adoc | ||
| partial-clone.adoc | ||
| platform-support.adoc | ||
| racy-git.adoc | ||
| reftable.adoc | ||
| remembering-renames.adoc | ||
| repository-version.adoc | ||
| rerere.adoc | ||
| scalar.adoc | ||
| send-pack-pipeline.adoc | ||
| shallow.adoc | ||
| sparse-checkout.adoc | ||
| sparse-index.adoc | ||
| trivial-merge.adoc | ||
| unambiguous-types.adoc | ||
| unit-tests.adoc | ||