Jonathan Nieder <jrnieder@xxxxxxxxx> writes: > Lukas Gross wrote: > >> I had intended to stage commits but forgot to do so. Git responded >> with a normal commit creation message, so I pushed to the remote to >> begin a CI build. When the build failed for the same reason, I >> realized I had forgotten to stage the changes. An additional line in >> the response to the effect of “Warning: did you mean to amend with no >> changes?” would be very helpful to shorten this feedback loop. > > On second thought: > > $ git commit --amend --no-edit > [detached HEAD 33a3db8805] Git 2.23-rc1 > Author: Junio C Hamano <gitster@xxxxxxxxx> > Date: Fri Aug 2 13:12:24 2019 -0700 > 2 files changed, 2 insertions(+), 1 deletion(-) > $ > > Some non-judgemental descriptive output like > > $ git commit --amend --no-edit > No changes. > $ > > would address this case, without bothering people who are doing it > intentionally. So I think there's room for a simple improvement here. I do that to refresh the committer timestamp. Do I now have to say something silly like $ GIT_EDITOR=true git commit --amend to defeat the above (mis)feature, or is there a cleaner workaround? Obviously I'd prefer to see a solution that does not force existing users to work around the new behaviour ;-) > Care to take a stab at it? builtin/commit.c would be the place to > start. I'd suggest not to start it before we know what we want. I am not yet convinced that "--amend --no-edit will become a no-op" is the final solution we want.