From: Philip Oakley Date: Mon, 23 Sep 2019 22:29:36 GMT Subject: Re: Git in Outreachy December 2019? Message-ID: In-Reply-To: <20190923194004.GF21344@sigill.intra.peff.net> On 23/09/2019 20:40, Jeff King wrote: > On Fri, Sep 20, 2019 at 06:47:01PM -0700, Emily Shaffer wrote: > >> """ >> "Did You Mean..?" >> >> There are some situations where it's fairly clear what a user meant to >> do, even though they did not do that thing correctly. For example, if a >> user runs `git commit` with tracked, modified, unstaged files in their >> worktree, but no staged files at all, it's fairly likely that they >> simply forgot to add the files they wanted. In this case, the error >> message is slightly obtuse: >> >> $ git commit >> On branch master >> Changes not staged for commit: >> modified: foo.txt >> >> no changes added to commit >> >> >> Since we have an idea of what the user _meant_ to do, we can offer >> something more like: >> >> $ git commit >> On branch master >> Changes not staged for commit: >> modified: foo.txt >> >> Stage listed changes and continue? [Y/n] >> >> While the above case is a good starting place, other similar cases can >> be added afterwards if time permits. These helper prompts should be >> enabled/disabled via a config option so that people who are used to >> their current workflow won't be impacted. >> """ > This is an interesting idea. At first I thought it might be too small > for a project, but I think it could be expanded or contracted as much as > the time allows by just looking for more "did you mean" spots. > > I have mixed feelings on making things interactive. For one, it gets > awkward when Git commands are called as part of a script or other > program (and a lot of programs like git-commit ride the line of plumbing > and porcelain). I know this would kick in only when a config option is > set, but I think that might things even _more_ confusing, as something > that works for one user (without the config) would start behaving > weirdly for another. > > I also think it might be an opportunity to educate. Instead of giving a > yes/no prompt, we can actually recommend one (or more!) sets of commands > to get the desired effect. I _thought_ we already did for this case by > default (triggered by advice.statusHints, which is true by default). But > it looks like those don't get printed for git-commit? > > -Peff Also there is a lot of common problems and issues that can be mined from StackOverflow for similar "Did You Mean..?"user problems. Philip