summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlo Marcelo Arenas Belón <carenas@gmail.com>2020-05-20 10:08:43 -0700
committerJunio C Hamano <gitster@pobox.com>2020-05-20 10:13:19 -0700
commit173cb08d5b38f423b3cae409daa6d414348c3459 (patch)
treeef67d272164d814f9caef9ea96ad4aeda36d3721
parent6c722cbe5a919166eb0d7369762b09393eb5b518 (diff)
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>
-rwxr-xr-xgit-bisect.sh4
1 files changed, 2 insertions, 2 deletions
diff --git a/git-bisect.sh b/git-bisect.sh
index 71b367a944..08a6ed57dd 100755
--- a/git-bisect.sh
+++ b/git-bisect.sh
@@ -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 () {
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;;