[PATCH 2/2 v2] git-gui - provide commit base to the hooks/pre-commit script
- From
Mark Levedahl <mlevedahl@gmail.com>
- Date
- Jun 8, 2010, 02:56 UTC
- Message-ID
- <1275965763-18940-2-git-send-email-mlevedahl@gmail.com>
- In-Reply-To
- <1275965763-18940-1-git-send-email-mlevedahl@gmail.com>
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@gmail.com> --- 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