Thread (2 messages) 2 messages, 2 authors, 2016-07-13

Re: [feature request] Warn about or prevent --amend commits that don't change anything

flat view

From: Junio C Hamano <hidden>
Date: 2016-07-13 19:16:27

Bergi [off-list ref] writes:
when nothing is staged in the index then `git commit` warns about this
fact with either "nothing to commit, working directory clean" or "no
changes added to commit".
However, `git commit --amend --no-edit` will happily record a new
commit that differs in nothing than its commit date from the original.

This is unexpected and can lead to mistakes.
What kind of "mistake" are you afraid of?

I can sort of see that "git commit --amend" might want to see two
summary diffstat output at the end, unlike "git commit" that shows
what changes were recorded relative to the parent.  In addition to
that "final result is different in this way from the parent" output,
you might also want "this is the change you made by amending" and
knowing the fact that you can notice you didn't add anything by the
latter being empty _might_ give you an additional peace of mind.

But is that the kind of mistake you are worried about?  IOW, you
thought you made and added changes X, Y and Z to the index before
running your "commit --amend", but you forgot the "add" step and did
not add anything?  If so, even the second diff i.e. "this is what
you changed by amending" would not help very much, and your "you
need --allow-empty if you really do not want any changes to the
tree" would not either, if you added X and Y but forgot to add Z.

So I am sensing a slight XY problem here.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help