Thursday, 22 August 2013

Git hook for any action that updates the working directory

Git hook for any action that updates the working directory

Following an answer to a previous question, I implemented a Git hook
script which needs to fire whenever the working directory is updated. I
linked this script to the following in .git/hooks:
post-checkout
post-commit
post-merge
This mostly works, but not always. One case I found is git stash. This is
a problem because my hook generates a text file wihch I also mark with git
update-index --assume-unchanged to tell Git that I don't want to check in
changes (an empty version is checked in). However, git stash will revert
the assume-unchanged file (to the empty file), which means the hook needs
to run again, yet the hook is not invoked after git stash.
I suspect a similar problem may exist with git rebase too, but that's not
as easy to explain.
I want a hook which Git will always run after updating the working
directory. Is this possible?

No comments:

Post a Comment