]> git.ipfire.org Git - thirdparty/git.git/commit
object-name: backend-generic `repo_collect_ambiguous()`
authorPatrick Steinhardt <ps@pks.im>
Fri, 20 Mar 2026 07:07:33 +0000 (08:07 +0100)
committerJunio C Hamano <gitster@pobox.com>
Fri, 20 Mar 2026 20:16:42 +0000 (13:16 -0700)
commitd2612fe59e605102cb422fadbb0cb8bea499daee
treea8e4be33904b445066f7fdf3849401bd89255ca9
parent28c9254e3b3e1304b5a6c36146cf6fec29f3f5d3
object-name: backend-generic `repo_collect_ambiguous()`

The function `repo_collect_ambiguous()` is responsible for collecting
objects whose IDs match a specific prefix. The information is then
used to inform the user about which objects they could have meant in
case a short object ID is ambiguous.

The logic to do this uses the object disambiguation infrastructure and
calls into backend-specific functions to iterate through loose and
packed objects. This isn't really required anymore though: all we want
to do is to enumerate objects that have such a prefix and then append
those objects to a `struct oid_array`. This can be trivially achieved
in a generic way now that `odb_for_each_object()` has learned to yield
only objects that match such a prefix.

Refactor the code to use the backend-generic infrastructure instead.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
object-name.c