Thread (79 messages) 79 messages, 10 authors, 2025-08-05

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

From: Marc Branchaud <hidden>
Date: 2025-05-08 13:26:09

On 2025-05-07 16:49, Kristoffer Haugsbakk wrote:
On Wed, May 7, 2025, at 22:23, Marc Branchaud wrote:
quoted
I agree that blaming is a well-(known) concept.  I also agree that most
users would understand what blame-tree would do, *once they find it*.

But I think that's beside the point I'm trying to make.  Git is
notorious for making users learn countless commands, and having two
slightly-different commands for blaming is just going to make that worse.
Use a Git user I don’t see the problem.  `git --list-cmds=builtins`
lists 144 commands.  Six of them are `-tree` commands.
None of the -tree commands are porcelain meant for regular use, and only 
merge-tree is "ancillary".  The rest are all plumbing.  These are hardly 
the commands normal users will use.  I've been using and scripting Git 
for a great many years, and I think I've maybe used read-tree a handful 
of times.

(I see that --list-cmds is experimental and only documented deep within 
"git help git".  You seem to be a very advanced Git user!)
It’s not been my understanding that people stumble upon niche commands
that easily.
Yes, I agree.  That seems to support the point I've been trying to make...
Most questions I’ve seen about git-commit-tree(1) (one of
the `-tree` commands that seems to come up from time to time) seem to
come from a point of idle curiosity.  That’s questions that bring it up
(i.e. potential user confusion).

(The first impression I got of `-tree` commands was that they were less
user-friendly commands for hardcore users.)
Of course they're less user-friendly: They're not porcelain.
That’s just my perspective.  Do you have a case in mind where such a new
command could lead to user confusion?
Only decades of experience writing and using software.  Bloating Git's 
command set should only be done after serious consideration of alternatives.

If I were not subscribed to this list, and Git went ahead with 
"blame-tree", I would most likely never learn about it.  Since I do know 
about "blame", if the feature were part of that command then I have a 
good chance of discovering it the next time I read blame's documentation.

		M.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help