Re: [PATCH v2] rev-list: teach --oid-only to enable piping
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 14, 2019, 20:25 UTC
- Message-ID
- <xmqqlfy3ud60.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <20190614160728.GA30083@sigill.intra.peff.net>
Jeff King <peff@peff.net> 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 ...
Show 21 quoted lines
>> @@ -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.