Re: [BUG] Infinite loop in git send-email if ran non-interactively.
- From
Jay Soffian <jaysoffian@gmail.com>
- Date
- Mar 25, 2009, 16:03 UTC
- Message-ID
- <76718490903250903t530983abi8a641e6b7aee6c0@mail.gmail.com>
- In-Reply-To
- <vpqiqlyj64o.fsf@bauges.imag.fr>
On Wed, Mar 25, 2009 at 5:36 AM, Matthieu Moy <Matthieu.Moy@imag.fr> wrote:
> I think, non-interactive runs of send-email should assume "yes"
Hmm, probably.
> instead of prompting. In any case, it should not do infinite loop (I > guess I don't have to argue for this ;-) )
Right, I'll followup with a fix.
Show 23 quoted lines
> Can someone more fluent in perl than me add a
>
> if(session-is-interactive) {
> ...
> }
>
> around this confirmation prompt?
>
> (side-note : there is indeed some code to handle the cases where the
> terminal doesn't work with readline, added by Junio in 280242d1, but
> the FakeTerm part doesn't seem to be executed in my case:
>
> my $term = eval {
> $ENV{"GIT_SEND_EMAIL_NOTTY"}
> ? new Term::ReadLine 'git-send-email', \*STDIN, \*STDOUT
> : new Term::ReadLine 'git-send-email';
> };
> if ($@) {
> $term = new FakeTerm "$@: going non-interactive";
> }
> )
>
> (in the meantime, I'll add --confirm never to my script)Actually, FakeTerm is only triggered if Term::ReadLine is not available. The "going non-interactive" message is misleading in this case, as it has nothing to do with whether stdin is a tty or not.
j.