From: Junio C Hamano Date: Mon, 19 Sep 2011 20:37:44 GMT Subject: Re: [PATCH] git-mergetool--lib.sh: make check_unchanged return 1 on invalid read Message-ID: <7vaaa09skn.fsf@alter.siamese.dyndns.org> In-Reply-To: <1316462592-27255-1-git-send-email-jaysoffian@gmail.com> Jay Soffian writes: > Else when the user hits ctrl-c at the "Was the merge successful? > [y/n]" prompt, mergetool goes into an infinite loop asking > for input. > > Signed-off-by: Jay Soffian We still seem to miss one "read" unchecked in resolve_symlink_merge(), even with this patch. > git-mergetool--lib.sh | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > > diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh > index 8fc65d0400..0eb424484c 100644 > --- a/git-mergetool--lib.sh > +++ b/git-mergetool--lib.sh > @@ -21,7 +21,11 @@ check_unchanged () { > do > echo "$MERGED seems unchanged." > printf "Was the merge successful? [y/n] " > - read answer > + if ! read answer > + then > + status=1 > + break > + fi I suspect that it would be more consistent with 6b44577 (mergetool: check return value from read, 2011-07-01), which this patch is a follow-up to, to do: read answer || return 1 here. Thanks.