Re: [PATCH RFC 0/5] Introduce git-blame-tree(1) command
From: Toon Claes <hidden>
Date: 2025-05-07 14:22:19
Marc Branchaud [off-list ref] writes:
I feel the need to get some bike-shedding off my chest, though:
Always welcome!
"blame-tree" would be a terrible name for this command.
Do you feel this way because "blame" as a negative conotation?
I think that if Git ends up with two blame-like commands it will merely solidify Git's reputation for obscurity.
I think "blaming" is a well-concept in Git, and many people (familiar with Git) would understand in instant what `blame-tree` would do.
If this is really a form of blaming, then just make it an extension of "git blame", like maybe "git blame --latest".
I'm afraid that won't work very well, because the code is very much different. If naming is the only motivation to shoehorn this in, then I think it's better to rethink the name?
Otherwise, please come up with a new command name. "git latest"? "git "latest-revs"? As long as it doesn't use the word "blame"...
I've been thinking about this a lot more, but I failed to come up with a better name.
FYI, here's Peff's original explanation[1] of how he came up with the name: > I wasn't sure at first what to call it or what the calling conventions > should be. The initial thought was to make it part of "ls-tree". But > that feels wrong, as ls-tree otherwise never cares about traversal. > The combination of traversal and diff made me think of blame, and > indeed, I think this is really just about blaming a whole tree at the > file-level, rather than at the content-level. Thus I called it blame- > tree, and I used the same calling conventions as blame: > "git blame-tree <path> <rev opts>". To me that reads like an argument for folding this into "git blame".
Forgive me, but I think folding into git-blame(1) will also solidify Git's reputation of obscurity. I think `blame-tree` is a fine name for this feature, but in the end I don't care too much about the exact name. If we end up naming it `git last-for-each`, `git annonate-files`, `git log-everyone`, or `git when-modified` ... It's all good for me.
[1] https://lore.kernel.org/git/20110302164031.GA18233@sigill.intra.peff.net/ (local)
-- Toon