aboutsummaryrefslogtreecommitdiff
path: root/git-merge-ours.sh
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-11-03 01:51:25 -0800
committerJunio C Hamano <junkio@cox.net>2005-11-03 14:55:11 -0800
commit160252f81626d865b9e902abffe5e4976944c930 (patch)
tree667f2453733fbb2f12fdaef832639c51132a01fc /git-merge-ours.sh
parent64da9e604eea25c9c20cfe12618285ccd0bf3cfe (diff)
downloadgit-160252f81626d865b9e902abffe5e4976944c930.tar.gz
git-160252f81626d865b9e902abffe5e4976944c930.tar.xz
git-merge-ours: make sure our index matches HEAD
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>
Diffstat (limited to 'git-merge-ours.sh')
-rwxr-xr-xgit-merge-ours.sh7
1 files changed, 7 insertions, 0 deletions
diff --git a/git-merge-ours.sh b/git-merge-ours.sh
index a64704f3e..4f3d05388 100755
--- a/git-merge-ours.sh
+++ b/git-merge-ours.sh
@@ -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