From: Junio C Hamano Date: Wed, 15 Mar 2023 19:24:18 GMT Subject: Re: [PATCH v2 1/8] for-each-ref: add --stdin option Message-ID: In-Reply-To: Jeff King writes: > ... we may > want some kind of "literal" mode, that takes in a list of refs rather > than a list of patterns, and does a sorted-merge with the list of > available refs (or uses a hash table, I guess, but for-each-ref also > tries to avoid even being linear in the total number of refs, so you'd > still want to find the lowest/highest to bound the iteration). Exactly. I actually was wondering if "literal" mode can just take a list of , and when a is not a refname, use it as if it were. I.e. %(refname) would parrot it, while %(refname:short) would not shorten and still parrot it, if the is 73876f4861c, but something like %(subject) would still work. For that, I suspect ref-filter.c::filter_refs() would need to learn a different kind fo finter->kind that iterates over the literal "refs" that was fed from the standard input, instead of calling for_each_fullref_in() for the given hierarchy, but the new iterator should be able to reuse the ref_filter_hander() for the heavy lifting.