Signed-off-by: Elijah Newren <new...@gmail.com>
---
 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to