summaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-08-08 05:54:08 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-08-08 05:54:08 +0000
commita9a4da925c2a22f5bbbf2e93a155211b68fb7079 (patch)
tree0e409c77b9b6080fc046e5387ab6c8b98ff30c6a /tool
parentd1ede0c12b229eb94a2c02d92127c59a2a04cf4a (diff)
* common.mk (mini): portable target to build miniruby
* common.mk (bisect): run git-bisect with miniruby * common.mk (bisect-ruby): run git-bisect with ruby * tool/bisect.sh: script for git-bisect git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'tool')
-rwxr-xr-xtool/bisect.sh42
1 files changed, 42 insertions, 0 deletions
diff --git a/tool/bisect.sh b/tool/bisect.sh
new file mode 100755
index 0000000000..fb22bf429b
--- /dev/null
+++ b/tool/bisect.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+# usage:
+# edit $(srcdir)/test.rb
+# git bisect start `git svn find-rev <rBADREV>` `git svn find-rev <rGOODREV>`
+# cd <builddir>
+# make bisect (or bisect-ruby for full ruby)
+
+if [ "x" = "x$MAKE" ]; then
+ MAKE=make
+fi
+
+case $1 in
+ miniruby | ruby ) # (miniruby|ruby) <srcdir>
+ srcdir=$2
+ builddir=`pwd` # assume pwd is builddir
+ path=$builddir/_bisect.sh
+ echo "path: $path"
+ cp $0 $path
+ cd $srcdir
+ echo "git bisect run $path run-$1"
+ git bisect run $path run-$1
+ ;;
+ run-miniruby )
+ cd ${0%/*} # assume a copy of this script is in builddir
+ $MAKE Makefile
+ $MAKE mini || exit 125
+ $MAKE run || exit 1
+ ;;
+ run-ruby )
+ cd ${0%/*} # assume a copy of this script is in builddir
+ $MAKE Makefile
+ $MAKE program || exit 125
+ $MAKE runruby || exit 1
+ ;;
+ "" )
+ echo foo bar
+ ;;
+ * )
+ echo unkown command "'$cmd'"
+ ;;
+esac
+exit 0