Skip to content

Instantly share code, notes, and snippets.

@blainekasten
Forked from sindresorhus/post-merge
Last active August 29, 2015 14:18
Show Gist options
  • Save blainekasten/5dae2a34b14ffa56e438 to your computer and use it in GitHub Desktop.
Save blainekasten/5dae2a34b14ffa56e438 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
# MIT © Sindre Sorhus - sindresorhus.com
changed_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"
check_run() {
echo "$changed_files" | grep --quiet "$1" && eval "$2"
}
check_asset_run() {
echo "$changed_files" | grep --quiet "javascripts" && eval "$1"
}
# Example usage
# In this example it's used to run `npm install` if package.json changed and `bower install` if `bower.json` changed.
check_run package.json "npm install"
check_run bower.json "bower install"
# run webpack
# if a javascript file changed
check_asset_run "node node_modules/webpack/bin/webpack.js"
# to install
# curl -O https://gist.githubusercontent.com/blainekasten/5dae2a34b14ffa56e438/raw/ef838f17c81c357500278c300b8322964ae508cd/post-merge && chmod +x post-merge && mv post-merge .git/hooks/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment