Jeff King <peff@xxxxxxxx> writes: > But I wonder if things would be simpler if we did not touch the commit > code path at all. I.e., if this were simply "--no-object-names", and it > touched only show_object(). Yeah, that sounds more tempting. And the refined code structure you suggested ... >> @@ -255,6 +262,10 @@ static void show_object(struct object *obj, const char *name, void *cb_data) >> display_progress(progress, ++progress_counter); >> if (info->flags & REV_LIST_QUIET) >> return; >> + if (arg_oid_only) { >> + printf("%s\n", oid_to_hex(&obj->oid)); >> + return; >> + } >> show_object_with_name(stdout, obj, name); >> } >> > > A minor style point, but I think this might be easier to follow without > the early return, since we are really choosing to do A or B. Writing: > > if (arg_oid_only) > printf(...); > else > show_object_with_name(...); > > shows that more clearly, I think. ... is a good way to clearly show that intention, I would think.