diff options
Diffstat (limited to '.lefthook')
-rwxr-xr-x | .lefthook/pre-push/merge_conflicts | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/.lefthook/pre-push/merge_conflicts b/.lefthook/pre-push/merge_conflicts new file mode 100755 index 00000000000..26623d93095 --- /dev/null +++ b/.lefthook/pre-push/merge_conflicts @@ -0,0 +1,23 @@ +#!/bin/bash + +# Adjusted from https://gitlab.com/fdegier/pre-push-hooks with hardcoded values for speed +ORIGIN=origin +DEFAULT_BRANCH=master + +if [[ -n "$ORIGIN" ]] +then + # Pull the default branch from remote + git fetch --quiet origin "$DEFAULT_BRANCH":"$DEFAULT_BRANCH" +fi + +# Check for merge conflicts and abort +if git merge --autostash --no-commit --no-ff --no-edit "$DEFAULT_BRANCH" > /dev/null 2>&1 +then + # Able to merge without conflicts + git merge --abort > /dev/null 2>&1 + exit 0 +else + echo "Merge conflicts detected when merging to $DEFAULT_BRANCH!" + git merge --abort > /dev/null 2>&1 + exit 1 +fi |