On 01/08/2025 16:18, Oswald Buddenhagen wrote:
On Thu, Jul 31, 2025 at 04:21:55PM +0100, Phillip Wood wrote:
An alternative
approach would be to advise the user to run "git config --show-origin"
and leave them to figure out how to fix it themselves but that seems
rather unfriendly. As we're forcing them to update their config we
should try and make that as easy as possible.
your approach certainly helps the user to fix their acute problem
quickly, but
- why should it? it's not like leaving it to the user would cause them a
huge burden, or that a noteworthy number of users are even going to
be affected. i don't think the fact that the update is forced
justifies making it a lot more user friendly than git configuration
usually is, esp. at this cost in complexity.
I think the fact that we're forcing the user to update does matter
because it means they're having to update their config when they
otherwise would not have to. I'd much rather it gave me a suggestion on
how to proceed rather than told me to check my config and figure out
what to do. There is certainly a complexity cost but I don't think it is
that high. Some of git's reputation for being hard to use is well earned
and I don't want to add to that.
- i don't think i'd appreciate the tool lecturing me about trivial usage
patterns, when the real question in that situation is why the option
was set like that in the first place and whether/how the replacement
is actually equivalent or even superior.
I don't think offering a suggestion is "lecturing about trivial usage
patterns", I see it as offering assistance to users. The reason the
advice offers two suggestions is because we cannot second guess whether
the user wants to use the default or set a fixed string - it is up to
them to decide.
- given that it doesn't print the entire decision tree (when
encountering read-only files), it doesn't necessarily guide the user
towards the best overall solution. that makes it _less_ user-friendly,
in a way.
It provides a reasonable way of updating the config that we know will
work when a user does not have write access to the system config. More
experienced users are of course free to update their config as they see fit.
Thanks
Phillip