I see, and now I understand the verbosity.  Rather than have one message that covers both cases, we could have two message, one for each case.  I feel like the verbosity is only necessary in the amend case?  Eg:

Amend = false && Empty: "No changes; nothing to commit."
Amend = true && Empty: "Amending this commit would produce a commit that is identical to the previous commit (Id = deadbeef)."

?