On Tue, Nov 19, 2024 at 12:52:50PM +0900, Junio C Hamano wrote: > > > `--pickaxe-grep` for `-G` seems like a reasonable alternative name for `-G`. > > That is probably OK (even though "-G" is not exactly what the > pickaxe machinery wants to do; "--grep-in-patch" might be closer to > the intent). FWIW, I like --grep-in-patch. Saying just "--pickaxe-grep" does not highlight that it is about looking in the patch. I.e., it is not clear from the name that is different from "-Sfoo --pickaxe-regex". > The -S feature was written to become one of the building blocks of > Linus's "clearly superior algorithm", described in [1]. Linus talks > about "where did this _line_ come from?", but the algorithm is more > generally about a block of code. The expected use case is for -S to > be fed sufficiently unique block of text so that we can efficiently > detect the transition of occurence count from 1 (because wee start > from sufficiently unique block of code) down to 0 (which is the > boundary in history where the block of code was first introduced in > its current form). It detects any occurence count change, but its > primary focus is to find a transition from 1 to 0 (when going > backwards in history). Its spirit is more about "finding where it > appeared in its current shape". Heh. I do not disagree that was the original focus, but I find that I use "-S" most frequently to find mentions of a particular function or other token across the code base. E.g., understanding the historical uses of a function, or why it has no callers anymore, and so on. So I am often looking for many appearances or disappearances (though of course they may or may not happen in a single file). -Peff