diff options
| author | Patrick Steinhardt <ps@pks.im> | 2026-02-12 07:59:38 +0100 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2026-02-12 11:05:08 -0800 |
| commit | 6cf965ccaf04cfaa0d1bc72336c380970549c6ee (patch) | |
| tree | 1ca0d5ce7330a321420c16fe5c4a1d019b1fcd35 /contrib/persistent-https | |
| parent | 048357d49d59cbb8c81ff891803d5eace813baef (diff) | |
| download | git-6cf965ccaf04cfaa0d1bc72336c380970549c6ee.tar.gz git-6cf965ccaf04cfaa0d1bc72336c380970549c6ee.zip | |
builtin/fsck: fix flags passed to `odb_has_object()`
In `mark_object()` we invoke `has_object()` with a value of 1. This is
somewhat fishy given that the function expects a bitset of flags, so any
behaviour that this results in is purely coincidental and may break at
any point in time.
The call to `has_object()` was originally introduced in 9eb86f41de
(fsck: do not lazy fetch known non-promisor object, 2020-08-05). The
intent here was to skip lazy fetches of promisor objects: we have
already verified that the object is not a promisor object, so if the
object is missing it indicates a corrupt repository.
The hardcoded value that we pass maps to `HAS_OBJECT_RECHECK_PACKED`,
which is probably the intended behaviour: `odb_has_object()` will not
fetch promisor objects unless `HAS_OBJECT_FETCH_PROMISOR` is passed, but
we may want to verify that no concurrent process has written the object
that we're trying to read.
Convert the code to use the named flag instead of the the hardcoded
value.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib/persistent-https')
0 files changed, 0 insertions, 0 deletions
