Subject: Re: How to prevent empty git commit --amend

From: Junio C Hamano <[email-masked]>
Date: Wed, 14 Jan 2015 09:27:11 -0800

Matthieu Moy <[email-masked]> writes:

> Ivo Anjo <[email-masked]> writes:
>
>> Is there a way to prevent a *git commit --amend** with nothing to
>> commit from working?
>> If not, I would like to suggest that this feature would be very helpful :)
>
> I don't know any way to let Git do the check for you, but 
>
> git diff --staged --quiet || git commit --amend
>
> should do it. You can alias it like
>
> [alias]
> 	amend = !git diff --staged --quiet || git commit --amend
>
> and then use "git amend".

That would not let you say "git amend Makefile", no?

	!sh -c 'git diff --cached --quiet "$@" || git commit --amend "$@"' -

or something, perhaps?