Replace the post-commit hook with a commit-msg hook that does the same thing (but that avoids needing to amend every commit :3 )
This commit is contained in:
parent
a1e0795e78
commit
e0038e9420
2 changed files with 20 additions and 11 deletions
20
config/git/hooks/commit-msg
Executable file
20
config/git/hooks/commit-msg
Executable file
|
@ -0,0 +1,20 @@
|
|||
#!/bin/sh
|
||||
echo >> $1
|
||||
|
||||
echo Calculating git guilt... >&2
|
||||
# git-guilt only works on actual commits, not on the index. Fortunately we can
|
||||
# create a temporary commit for git-guilt to look at, using git-stash!
|
||||
git stash save -q
|
||||
|
||||
# stash@{0}^2 is the index. I know, it's weird. We call git-guilt twice because
|
||||
# we want the nice colours when we commit in a terminal, but we don't want them
|
||||
# in the actual commit message.
|
||||
git guilt HEAD stash@{0}^2 >&2
|
||||
git guilt HEAD stash@{0}^2 >> $1
|
||||
|
||||
# Now restore the changes from stash, so we can actually commit them. ;)
|
||||
git stash pop -q --index
|
||||
|
||||
echo >> $1
|
||||
echo Fetching a whatthecommit message... >&2
|
||||
curl -s http://whatthecommit.com/index.txt | tee -a $1 >&2
|
|
@ -1,11 +0,0 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
chmod a-x $0
|
||||
|
||||
msg="$(git log -n 1 --pretty=format:'%s%n%n%b')"
|
||||
guilt="$(git guilt HEAD~1 HEAD)"
|
||||
what="$(curl http://whatthecommit.com/index.txt)"
|
||||
|
||||
git commit --no-verify --amend -m $msg$'\n\n'$guilt$'\n\n'$what
|
||||
|
||||
chmod a+x $0
|
Loading…
Reference in a new issue