Skip to content

Instantly share code, notes, and snippets.

@lira
Forked from danielcosta/post-merge
Last active August 29, 2015 14:06
Show Gist options
  • Save lira/53648922bfb06c056891 to your computer and use it in GitHub Desktop.
Save lira/53648922bfb06c056891 to your computer and use it in GitHub Desktop.
#/usr/bin/env bash
# MIT © Sindre Sorhus - sindresorhus.com
# git hook to run a command after `git pull` or `git merge` if a specified file was changed
# Run `chmod +x post-merge` to make it executable then put it into `.git/hooks/`.
changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"
check_run() {
echo "$changed_files" | grep --quiet "$1" && eval "$2"
}
# Example usage
# In this example it's used to run `composer install -o` if composer.json changed and `m sudt` if any sql file changed.
echo -e "\033[01;37mStarting post-merge hook\033[00;00m"
check_run composer.json "composer install -o"
check_run sql "m sudt"
echo -e "\033[01;37mFinished post-merge hook\033[00;00m"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment