Code

rebase: error out for NO_PYTHON if they use recursive merge
authorEric Wong <normalperson@yhbt.net>
Wed, 21 Jun 2006 10:04:42 +0000 (03:04 -0700)
committerJunio C Hamano <junkio@cox.net>
Wed, 21 Jun 2006 10:56:30 +0000 (03:56 -0700)
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>
git-rebase.sh
t/t3402-rebase-merge.sh

index bce7bf84d6d1eca8c245e2ca89764ed8a4062191..b9ce1125d855273e499b57173d4281507e656fdd 100755 (executable)
@@ -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
 
index 0779aaa9aba16f0f8502505b4df5cc49cfe8af82..d34c6cf6f3143bac81b69f79329d2d893e379c39 100755 (executable)
@@ -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