On 2025-05-07 16:49, Kristoffer Haugsbakk wrote:
On Wed, May 7, 2025, at 22:23, Marc Branchaud wrote:
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.