If hooks/pre-commit acts based upon the changes to be checked in rather than just the resulting content, the script needs to know which commit to use. For a normal commit, this is HEAD, but when amending this is HEAD~1. So, this modifies commit.tcl to pass $1 as HEAD|HEAD~1 depending upon the commit type. Existing scripts are unaffected as they did not expect any argument so will silently ignore this extra bit of info. Signed-off-by: Mark Levedahl <mlevedahl@xxxxxxxxx> --- git-gui/lib/commit.tcl | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/git-gui/lib/commit.tcl b/git-gui/lib/commit.tcl index 7f459cd..a62edc9 100644 --- a/git-gui/lib/commit.tcl +++ b/git-gui/lib/commit.tcl @@ -225,7 +225,13 @@ A good commit message has the following format: # -- Run the pre-commit hook. # - set fd_ph [githook_read pre-commit] + if {[string compare $commit_type "normal"] == 0} { + set against "HEAD" + } else { + set against "HEAD~1" + } + + set fd_ph [githook_read pre-commit $against] if {$fd_ph eq {}} { commit_commitmsg $curHEAD $msg_p return -- 1.7.1.269.g9fb6 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html