Browse Source

bisect: avoid tailing CR characters from revision in replay

6c722cbe5a (bisect: allow CRLF line endings in "git bisect replay"
input, 2020-05-07) includes CR as a field separator, but relies on
it not being included in the last field, which breaks at least when
running under OpenBSD 6.7's sh.

Instead of just assume the CR will get swallowed, read the rest of
the line into an otherwise unused variable and ignore it everywhere
except on the call for git bisect start, where it matters.

Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Carlo Marcelo Arenas Belón 5 years ago committed by Junio C Hamano
parent
commit
173cb08d5b
  1. 4
      git-bisect.sh

4
git-bisect.sh

@ -210,7 +210,7 @@ bisect_replay () { @@ -210,7 +210,7 @@ bisect_replay () {
test -r "$file" || die "$(eval_gettext "cannot read \$file for replaying")"
git bisect--helper --bisect-reset || exit
oIFS="$IFS" IFS="$IFS$(printf '\015')"
while read git bisect command rev
while read git bisect command rev tail
do
test "$git $bisect" = "git bisect" || test "$git" = "git-bisect" || continue
if test "$git" = "git-bisect"
@ -223,7 +223,7 @@ bisect_replay () { @@ -223,7 +223,7 @@ bisect_replay () {
get_terms
case "$command" in
start)
cmd="bisect_start $rev"
cmd="bisect_start $rev $tail"
eval "$cmd" ;;
"$TERM_GOOD"|"$TERM_BAD"|skip)
git bisect--helper --bisect-write "$command" "$rev" "$TERM_GOOD" "$TERM_BAD" || exit;;

Loading…
Cancel
Save