Hi Junio, Apologies for the late reply. On Tue, Nov 21, 2023 at 05:21:43AM +0900, Junio C Hamano wrote: > Junio C Hamano <gitster@xxxxxxxxx> writes: > > > Another line of thought is perhaps it is potentially useful to teach > > the --format= machinery to be a bit more programmable, e.g. allowing > > to compute a substring of an existing field %{%aE#*@} without having > > to waste a letter each for the local part and domain part. But as I > > already said, we are now talking about "postprocessing", and adding > > complexity to our codebase only to have incomplete flexibility may > > not be worth it. A more specific %(authoremail:localpart) and its > > domain counterpart may be easier to explain and understand. > > > > In any case, it is a bit too late to say "let's not waste the > > precious single letter namespace to add useless features", as we > > have come way too far, so I do not mind too much using a currently > > unused letter $X for yet another author and committer trait. > > When I wrote the above, I somehow forgot the existing work in the > ref-filter (aka "for-each-ref") placeholders, where we have support > to a lot more flexible way to customize these things. I looked into this a little, after your first email. I'll try to make time to have another look. > For example, "%(authoremail:mailmap,localpart)" can be used to say, > instead of wasting two letters 'l' and 'L' out of precious 52, that > we want e-mail address honoring the mailmap, and take only the local > part. And the support for the host part of the address that this > topic discussed should be implementable fairly easily (just adding > EO_HOSTPART bit to the email_option structure would be sufficient) > on the ref-filter side. > > We saw efforts from time to time to give "log --pretty=format:" more > of the good things from the "for-each-ref --format=" placeholders > (and vice versa), and it may give us a good way forward. This definitely sounds like a better approach than wasting two more letters. Liam