summaryrefslogtreecommitdiff
path: root/git-merge-octopus.sh
diff options
context:
space:
mode:
authorElijah Newren <newren@gmail.com>2016-04-09 23:13:38 -0700
committerJunio C Hamano <gitster@pobox.com>2016-04-12 18:39:43 -0700
commit3ec62ad9ffba2476e30fdf8e8717756fe62119f9 (patch)
tree8485a8c272cb56a6b4b90ddb41e3305864323ae4 /git-merge-octopus.sh
parenta6ee883b8eb56d200c3297184d29ea488a34cf43 (diff)
downloadgit-3ec62ad9ffba2476e30fdf8e8717756fe62119f9.tar.gz
merge-octopus: abort if index does not match HEADen/merge-octopus-fix
Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-merge-octopus.sh')
-rwxr-xr-xgit-merge-octopus.sh6
1 files changed, 6 insertions, 0 deletions
diff --git a/git-merge-octopus.sh b/git-merge-octopus.sh
index 8643f74cb0..dc2fd1b5a4 100755
--- a/git-merge-octopus.sh
+++ b/git-merge-octopus.sh
@@ -44,6 +44,12 @@ esac
# MRC is the current "merge reference commit"
# MRT is the current "merge result tree"
+if ! git diff-index --quiet --cached HEAD --
+then
+ echo "Error: Your local changes to the following files would be overwritten by merge"
+ git diff-index --cached --name-only HEAD -- | sed -e 's/^/ /'
+ exit 2
+fi
MRC=$(git rev-parse --verify -q $head)
MRT=$(git write-tree)
NON_FF_MERGE=0