"Han-Wen Nienhuys via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > diff --git a/reftable/writer.c b/reftable/writer.c > index d54215a50dc..5e4e6e93416 100644 > --- a/reftable/writer.c > +++ b/reftable/writer.c > @@ -515,7 +515,9 @@ static void object_record_free(void *void_arg, void *key) > static int writer_dump_object_index(struct reftable_writer *w) > { > struct write_record_arg closure = { .w = w }; > - struct common_prefix_arg common = { NULL }; > + struct common_prefix_arg common = { > + .max = 1, /* obj_id_len should be >= 2. */ > + }; It feels somewhat strange that we have to set .max to set the floor for the minimum length, but given the way update_common() uses and maintains the member, it is more like "max size we have seen so far", and by pretending that we have already seen common prefix of length 1, we'd force ourselves that we need at least 2 to differentiate. > if (w->obj_index_tree) { > infix_walk(w->obj_index_tree, &update_common, &common); > }