Signed-off-by: Elijah Newren <[email protected]>
---
git-merge-octopus.sh | 5 +++++
t/t6044-merge-unrelated-index-changes.sh | 21 ++++++---------------
2 files changed, 11 insertions(+), 15 deletions(-)
diff --git a/git-merge-octopus.sh b/git-merge-octopus.sh
index 8643f74..a1d7702 100755
--- a/git-merge-octopus.sh
+++ b/git-merge-octopus.sh
@@ -44,6 +44,11 @@ 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 need to be resolved
before 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
diff --git a/t/t6044-merge-unrelated-index-changes.sh
b/t/t6044-merge-unrelated-index-changes.sh
index 726c898..4c1dc5a 100755
--- a/t/t6044-merge-unrelated-index-changes.sh
+++ b/t/t6044-merge-unrelated-index-changes.sh
@@ -105,43 +105,34 @@ test_expect_success 'recursive' '
test_must_fail git merge -s recursive C^0
'
-test_expect_failure 'octopus, unrelated file touched' '
+test_expect_success 'octopus, unrelated file touched' '
git reset --hard &&
git checkout B^0 &&
touch random_file && git add random_file &&
echo "I think the next line should fail, but maybe it was intended..."
&&
- test_might_fail git merge C^0 D^0 &&
-
- echo "No matter what, random_file should NOT be part of HEAD" &&
- test_must_fail git rev-parse HEAD:random_file
+ test_must_fail git merge C^0 D^0
'
-test_expect_failure 'octopus, related file removed' '
+test_expect_success 'octopus, related file removed' '
git reset --hard &&
git checkout B^0 &&
git rm b &&
echo "I think the next line should fail, but maybe it was intended..."
&&
- test_might_fail git merge C^0 D^0 &&
-
- echo "No matter what, b should still be in HEAD" &&
- git cat-file -p HEAD:b | grep b$
+ test_must_fail git merge C^0 D^0
'
-test_expect_failure 'octopus, related file modified' '
+test_expect_success 'octopus, related file modified' '
git reset --hard &&
git checkout B^0 &&
echo 12 >>a && git add a &&
echo "I think the next line should fail, but maybe it was intended..."
&&
- test_might_fail git merge C^0 D^0 &&
-
- echo "No matter what, 12 should NOT be in the copy of a from HEAD" &&
- git cat-file -p HEAD:a | test_must_fail grep 12
+ test_must_fail git merge C^0 D^0
'
test_expect_success 'ours' '
--
2.8.0.18.gc685494
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html