Subject: Re: [PATCH RFC 0/5] Introduce git-blame-tree(1) command

From: Toon Claes <[email-masked]>
Date: Wed, 07 May 2025 16:22:02 +0200

Marc Branchaud <[email-masked]> 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/[email-masked]/

--
Toon