Browse Source

bisect: use "git rev-parse --sq-quote" instead of a custom "sq" function

As the "sq" function was the only place using Perl in "git-bisect.sh",
this removes the Perl dependency in this script.

While at it, we also remove the sed instruction in the Makefile that
substituted @@PERL@@ with the Perl path in shell scripts, as this is
not needed anymore. (It is now only needed in "git-instaweb.sh" but
this command is dealt with separately in the Makefile.)

Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Christian Couder 16 years ago committed by Junio C Hamano
parent
commit
de52f5a806
  1. 1
      Makefile
  2. 16
      git-bisect.sh

1
Makefile

@ -1248,7 +1248,6 @@ $(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh
$(QUIET_GEN)$(RM) $@ $@+ && \ $(QUIET_GEN)$(RM) $@ $@+ && \
sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
-e 's|@SHELL_PATH@|$(SHELL_PATH_SQ)|' \ -e 's|@SHELL_PATH@|$(SHELL_PATH_SQ)|' \
-e 's|@@PERL@@|$(PERL_PATH_SQ)|g' \
-e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \ -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
-e 's/@@NO_CURL@@/$(NO_CURL)/g' \ -e 's/@@NO_CURL@@/$(NO_CURL)/g' \
$@.sh >$@+ && \ $@.sh >$@+ && \

16
git-bisect.sh

@ -33,16 +33,6 @@ require_work_tree
_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]' _x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40" _x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"


sq() {
@@PERL@@ -e '
for (@ARGV) {
s/'\''/'\'\\\\\'\''/g;
print " '\''$_'\''";
}
print "\n";
' "$@"
}

bisect_autostart() { bisect_autostart() {
test -s "$GIT_DIR/BISECT_START" || { test -s "$GIT_DIR/BISECT_START" || {
echo >&2 'You need to start by "git bisect start"' echo >&2 'You need to start by "git bisect start"'
@ -107,7 +97,7 @@ bisect_start() {
for arg; do for arg; do
case "$arg" in --) has_double_dash=1; break ;; esac case "$arg" in --) has_double_dash=1; break ;; esac
done done
orig_args=$(sq "$@") orig_args=$(git rev-parse --sq-quote "$@")
bad_seen=0 bad_seen=0
eval='' eval=''
while [ $# -gt 0 ]; do while [ $# -gt 0 ]; do
@ -147,7 +137,7 @@ bisect_start() {
# Write new start state. # Write new start state.
# #
echo "$start_head" >"$GIT_DIR/BISECT_START" && echo "$start_head" >"$GIT_DIR/BISECT_START" &&
sq "$@" >"$GIT_DIR/BISECT_NAMES" && git rev-parse --sq-quote "$@" >"$GIT_DIR/BISECT_NAMES" &&
eval "$eval" && eval "$eval" &&
echo "git bisect start$orig_args" >>"$GIT_DIR/BISECT_LOG" || exit echo "git bisect start$orig_args" >>"$GIT_DIR/BISECT_LOG" || exit
# #
@ -199,7 +189,7 @@ bisect_skip() {
*..*) *..*)
revs=$(git rev-list "$arg") || die "Bad rev input: $arg" ;; revs=$(git rev-list "$arg") || die "Bad rev input: $arg" ;;
*) *)
revs=$(sq "$arg") ;; revs=$(git rev-parse --sq-quote "$arg") ;;
esac esac
all="$all $revs" all="$all $revs"
done done

Loading…
Cancel
Save