summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2006-06-21 10:04:42 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-06-21 10:56:30 (GMT)
commit693c15dc282c36042eac8d215beae3067db7565c (patch)
treee61b9d272c16360ebca965a77d93feff4e2bfae7
parentc3fb0e358e594d081c7c0f37d557e29d2a5460b4 (diff)
downloadgit-693c15dc282c36042eac8d215beae3067db7565c.zip
git-693c15dc282c36042eac8d215beae3067db7565c.tar.gz
git-693c15dc282c36042eac8d215beae3067db7565c.tar.bz2
rebase: error out for NO_PYTHON if they use recursive merge
recursive merge relies on Python, and we can't perform rename-aware merges without the recursive merge. So bail out before trying it. The test won't work w/o recursive merge, either, so skip that, too. Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
-rwxr-xr-xgit-rebase.sh9
-rwxr-xr-xt/t3402-rebase-merge.sh6
2 files changed, 15 insertions, 0 deletions
diff --git a/git-rebase.sh b/git-rebase.sh
index bce7bf8..b9ce112 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -300,6 +300,15 @@ then
exit $?
fi
+if test "@@NO_PYTHON@@" && test "$strategy" = "recursive"
+then
+ die 'The recursive merge strategy currently relies on Python,
+which this installation of git was not configured with. Please consider
+a different merge strategy (e.g. octopus, resolve, stupid, ours)
+or install Python and git with Python support.'
+
+fi
+
# start doing a rebase with git-merge
# this is rename-aware if the recursive (default) strategy is used
diff --git a/t/t3402-rebase-merge.sh b/t/t3402-rebase-merge.sh
index 0779aaa..d34c6cf 100755
--- a/t/t3402-rebase-merge.sh
+++ b/t/t3402-rebase-merge.sh
@@ -7,6 +7,12 @@ test_description='git rebase --merge test'
. ./test-lib.sh
+if test "$no_python"; then
+ echo "Skipping: no python => no recursive merge"
+ test_done
+ exit 0
+fi
+
T="A quick brown fox
jumps over the lazy dog."
for i in 1 2 3 4 5 6 7 8 9 10