[PATCH] ui: disable echo back of prompt input if ui is set to non-tty purposely

Yuya Nishihara yuya at tcha.org
Thu Oct 9 09:30:19 CDT 2014


On Thu, 9 Oct 2014 10:05:20 -0400, Augie Fackler wrote:
> On Wed, Oct 08, 2014 at 11:48:53PM +0900, Yuya Nishihara wrote:
> > # HG changeset patch
> > # User Yuya Nishihara <yuya at tcha.org>
> > # Date 1412769061 -32400
> > #      Wed Oct 08 20:51:01 2014 +0900
> > # Node ID 49193989bbd88445b156f0c6891610f34a56447f
> > # Parent  a1eb21f5caea4366310e32aa85248791d5bbfa0c
> > ui: disable echo back of prompt input if ui is set to non-tty purposely
> >
> > 9ab18a912c44 is nice for test output, but it also affects command-server
> > channel.  Command-server client shouldn't receive echo-back message, which
> > makes it harder to parse the output.
> >
> > diff --git a/mercurial/ui.py b/mercurial/ui.py
> > --- a/mercurial/ui.py
> > +++ b/mercurial/ui.py
> > @@ -684,7 +684,9 @@ class ui(object):
> >                  r = default
> >              # sometimes self.interactive disagrees with isatty,
> >              # show response provided on stdin when simulating
> > -            if not util.isatty(self.fin):
> > +            # but commandserver
> 
> Should there be more of a thought here? Or is "but" a typo?

It seemed noisy to write long comment about commandserver here.

Instead, I'm thinking of new internal flag to control the echo, and set
this flag off by commandserver.

    if self.configbool('ui', 'promptecho', not util.isatty(self.fin)):
        self.write(r, "\n")

> > +            if (not util.isatty(self.fin)
> > +                and not self.configbool('ui', 'nontty')):
> >                  self.write(r, "\n")
> >              return r
> >          except EOFError:

Regards,


More information about the Mercurial-devel mailing list