On Fri, Nov 05, 2021 at 11:49:03AM -0700, Junio C Hamano wrote: > Jeff King <peff@xxxxxxxx> writes: > > > As a workaround, you can get what you want by two separate traversals: > > one to collect the commits via --follow, and then another to actually > > show them (but without doing any further walking). Like: > > > > git log --follow --format=%H -- $your_file | > > git log --stdin --no-walk --reverse [--oneline, -p, etc] > > We learn new things every day. > > Knowing the implementation, it is sort of obvious (we push the > objects into the pending list, populate the revs.commits in > prepare_revision_walk() from the pending list in order, > get_revision() first reverses the revs.commits and then gives out > the elements), but I didn't know the combination of "--no-walk" and > "--reverse" did something sensible ;-) I admit that I did not know if it would work either until I tried it earlier today. ;) -Peff