diff options
| author | Derrick Stolee <stolee@gmail.com> | 2026-05-22 18:24:28 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2026-05-24 18:41:06 +0900 |
| commit | 7a7070eebce16f20548bd4685362bca7df6af431 (patch) | |
| tree | 14adf2449e14bae98072725ef86750c97c4932fe /t/t4013/diff.diff_initial..side | |
| parent | 5406b62b21e4c24cd2b0ca698b5fb95b4a5816ca (diff) | |
path-walk: always emit directly-requested objects
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>
Diffstat (limited to 't/t4013/diff.diff_initial..side')
0 files changed, 0 insertions, 0 deletions
