Re: Long names for `git log -S` and `git log -G`
- From
Jeff King <peff@peff.net>
- Date
- Nov 19, 2024, 18:58 UTC
- Message-ID
- <20241119185817.GC15723@coredump.intra.peff.net>
- In-Reply-To
- <xmqqo72bev71.fsf@gitster.g>
On Tue, Nov 19, 2024 at 12:52:50PM +0900, Junio C Hamano wrote:
Show 6 quoted lines
> > > `--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".
Show 12 quoted lines
> 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