git-merge-ours: make sure our index matches HEAD
authorJunio C Hamano <junkio@cox.net>
Thu, 3 Nov 2005 09:51:25 +0000 (01:51 -0800)
committerJunio C Hamano <junkio@cox.net>
Thu, 3 Nov 2005 22:55:11 +0000 (14:55 -0800)
git-merge expects this check to be done appropriately by the
merge strategy backends.  In the case of merge-ours strategy,
the resulting tree comes what we have in the index file, so it
must match the current HEAD; otherwise it would not be "ours"
merge.

Signed-off-by: Junio C Hamano <junkio@cox.net>
git-merge-ours.sh

index a64704f3e52be43b427792ef9c1bbe42af057c87..4f3d053889de4a5ba8e6e5d519c014a51220accd 100755 (executable)
@@ -4,4 +4,11 @@
 #
 # Pretend we resolved the heads, but declare our tree trumps everybody else.
 #
+
+# We need to exit with 2 if the index does not match our HEAD tree,
+# because the current index is what we will be committing as the
+# merge result.
+
+test "$(git-diff-index --cached --name-status HEAD)" = "" || exit 2
+
 exit 0