OPTIONS_SPEC=
. git-sh-setup
+. git-sh-i18n
require_work_tree
_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
bisect_autostart() {
test -s "$GIT_DIR/BISECT_START" || {
- echo >&2 'You need to start by "git bisect start"'
+ (
+ gettext "You need to start by \"git bisect start\"" &&
+ echo
+ ) >&2
if test -t 0
then
echo >&2 -n 'Do you want me to do it for you [Y/n]? '
#
head=$(GIT_DIR="$GIT_DIR" git symbolic-ref -q HEAD) ||
head=$(GIT_DIR="$GIT_DIR" git rev-parse --verify HEAD) ||
- die "Bad HEAD - I need a HEAD"
+ die "$(gettext "Bad HEAD - I need a HEAD")"
#
# Check if we are bisecting.
# cogito usage, and cogito users should understand
# it relates to cg-seek.
[ -s "$GIT_DIR/head-name" ] &&
- die "won't bisect on seeked tree"
+ die "$(gettext "won't bisect on seeked tree")"
start_head="${head#refs/heads/}"
;;
*)
- die "Bad HEAD - strange symbolic ref"
+ die "$(gettext "Bad HEAD - strange symbolic ref")"
;;
esac
fi
*)
rev=$(git rev-parse -q --verify "$arg^{commit}") || {
test $has_double_dash -eq 1 &&
- die "'$arg' does not appear to be a valid revision"
+ die "$(eval_gettext "'\$arg' does not appear to be a valid revision")"
break
}
case $bad_seen in
case "$state" in
bad) tag="$state" ;;
good|skip) tag="$state"-"$rev" ;;
- *) die "Bad bisect_write argument: $state" ;;
+ *) die "$(eval_gettext "Bad bisect_write argument: \$state")" ;;
esac
git update-ref "refs/bisect/$tag" "$rev" || exit
echo "# $state: $(git show-branch $rev)" >>"$GIT_DIR/BISECT_LOG"
do
case "$arg" in
*..*)
- revs=$(git rev-list "$arg") || die "Bad rev input: $arg" ;;
+ revs=$(git rev-list "$arg") || die "$(eval_gettext "Bad rev input: \$arg")" ;;
*)
revs=$(git rev-parse --sq-quote "$arg") ;;
esac
state=$1
case "$#,$state" in
0,*)
- die "Please call 'bisect_state' with at least one argument." ;;
+ die "$(gettext "Please call 'bisect_state' with at least one argument.")" ;;
1,bad|1,good|1,skip)
rev=$(git rev-parse --verify HEAD) ||
- die "Bad rev input: HEAD"
+ die "$(gettext "Bad rev input: HEAD")"
bisect_write "$state" "$rev"
check_expected_revs "$rev" ;;
2,bad|*,good|*,skip)
for rev in "$@"
do
sha=$(git rev-parse --verify "$rev^{commit}") ||
- die "Bad rev input: $rev"
+ die "$(eval_gettext "Bad rev input: \$rev")"
eval="$eval bisect_write '$state' '$sha'; "
done
eval "$eval"
check_expected_revs "$@" ;;
*,bad)
- die "'git bisect bad' can take only one argument." ;;
+ die "$(gettext "'git bisect bad' can take only one argument.")" ;;
*)
usage ;;
esac
t,,good)
# have bad but not good. we could bisect although
# this is less optimum.
- echo >&2 'Warning: bisecting only with a bad commit.'
+ (
+ gettext "Warning: bisecting only with a bad commit." &&
+ echo
+ ) >&2
if test -t 0
then
printf >&2 'Are you sure [Y/n]? '
if test $# = 0
then
- case "${DISPLAY+set}${SESSIONNAME+set}${MSYSTEM+set}${SECURITYSESSIONID+set}" in
- '') set git log ;;
- set*) set gitk ;;
- esac
+ if test -n "${DISPLAY+set}${SESSIONNAME+set}${MSYSTEM+set}${SECURITYSESSIONID+set}" &&
+ type gitk >/dev/null 2>&1; then
+ set gitk
+ else
+ set git log
+ fi
else
case "$1" in
git*|tig) ;;
bisect_reset() {
test -s "$GIT_DIR/BISECT_START" || {
- echo "We are not bisecting."
+ gettext "We are not bisecting."; echo
return
}
case "$#" in
if git checkout "$branch" -- ; then
bisect_clean_state
else
- die "Could not check out original HEAD '$branch'." \
- "Try 'git bisect reset <commit>'."
+ die "$(eval_gettext "Could not check out original HEAD '\$branch'.
+Try 'git bisect reset <commit>'.")"
fi
}
good|bad|skip)
bisect_write "$command" "$rev" ;;
*)
- die "?? what are you talking about?" ;;
+ die "$(gettext "?? what are you talking about?")" ;;
esac
done <"$1"
bisect_auto_next
if sane_grep "first bad commit could be any of" "$GIT_DIR/BISECT_RUN" \
> /dev/null; then
- echo >&2 "bisect run cannot continue any more"
+ (
+ gettext "bisect run cannot continue any more" &&
+ echo
+ ) >&2
exit $res
fi
if [ $res -ne 0 ]; then
- echo >&2 "bisect run failed:"
- echo >&2 "'bisect_state $state' exited with error code $res"
+ (
+ eval_gettext "bisect run failed:
+'bisect_state \$state' exited with error code \$res" &&
+ echo
+ ) >&2
exit $res
fi
if sane_grep "is the first bad commit" "$GIT_DIR/BISECT_RUN" > /dev/null; then
- echo "bisect run success"
+ gettext "bisect run success"; echo
exit 0;
fi
}
bisect_log () {
- test -s "$GIT_DIR/BISECT_LOG" || die "We are not bisecting."
+ test -s "$GIT_DIR/BISECT_LOG" || die "$(gettext "We are not bisecting.")"
cat "$GIT_DIR/BISECT_LOG"
}