Re: [PATCH RFC 0/5] Introduce git-blame-tree(1) command
- From
Marc Branchaud <marcnarc@xiplink.com>
- Date
- May 8, 2025, 13:26 UTC
- Message-ID
- <b162707d-0da3-4ea7-94da-5546119012c4@xiplink.com>
- In-Reply-To
- <9a0c98d1-4a77-4f2e-9aa9-bbab11b3e44d@app.fastmail.com>
On 2025-05-07 16:49, Kristoffer Haugsbakk wrote:
Show 10 quoted lines
> 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...
Show 7 quoted lines
> 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.