@@ -361,6 +361,8 @@ static int show_ambiguous_object(const struct object_id *oid, void *data)
return 0;
type = oid_object_info(ds->repo, oid, NULL);
+ assert(type == OBJ_TREE || type == OBJ_COMMIT ||
+ type == OBJ_BLOB || type == OBJ_TAG);
if (type == OBJ_COMMIT) {
struct commit *commit = lookup_commit(ds->repo, oid);
if (commit) {
@@ -376,8 +378,7 @@ static int show_ambiguous_object(const struct object_id *oid, void *data)
advise(" %s %s%s",
repo_find_unique_abbrev(ds->repo, oid, DEFAULT_ABBREV),
- type_name(type) ? type_name(type) : "unknown type",
- desc.buf);
+ type_name(type), desc.buf);
strbuf_release(&desc);
return 0;
Remove the "unknown type" handling when displaying the ambiguous object list. See [1] for the current output, and [1] for the commit that added the "unknown type" handling. The reason this code wasn't reachable is because we're not passing in OBJECT_INFO_ALLOW_UNKNOWN_TYPE, so we'll just die in sort_ambiguous() before we get to show_ambiguous_object(): $ git rev-parse 8315 error: short object ID 8315 is ambiguous hint: The candidates are: fatal: invalid object type We should do better here, but let's leave that for some future improvement. In a subsequent commit I'll improve the output we do show, and not having to handle the "unknown type" case simplifies that change. Even though we know that this isn't reachable let's back that up with an assert() both for self-documentation and sanity checking. 1. 5cc044e0257 (get_short_oid: sort ambiguous objects by type, then SHA-1, 2018-05-10) 2. 1ffa26c461 (get_short_sha1: list ambiguous objects on error, 2016-09-26) Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> --- object-name.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)