Don't try to determine interactivity if ui() called with interactive=False.
WSGI applications are not supposed to refer to sys.stdin. In ed6df6b1c29a,
hgweb and hgwebdir were fixed to pass interactive=False to their ui()'s, but
sys.stdin.isatty() was still called by the ui objects. This change makes sure
only the ui.fixconfig() method will call ui.isatty() (by making the
ui._readline() method, which is currently only called from ui.prompt(),
private). ui.fixconfig() is changed to let config files override the initial
interactivity setting, but not check isatty() if interactive=False was
specified in the creation of the ui.
adding 1
adding 2
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
resolving manifests
overwrite None partial False
ancestor 81f4b099af3d local c64f439569a9+ remote 2f8037f47a5c
1: other deleted -> r
1a: remote created -> g
removing 1
getting 1a
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
(branch merge, don't forget to commit)
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
resolving manifests
overwrite None partial False
ancestor c64f439569a9 local ac7575e3c052+ remote 746e9549ea96
1a: local moved to 1 -> m
merging 1a and 1
my 1a@ac7575e3c052+ other 1@746e9549ea96 ancestor 1@81f4b099af3d
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
resolving manifests
overwrite None partial False
ancestor c64f439569a9 local 746e9549ea96+ remote ac7575e3c052
1: remote moved to 1a -> m
copying 1 to 1a
merging 1 and 1a
my 1@746e9549ea96+ other 1a@2f8037f47a5c ancestor 1@81f4b099af3d
removing 1
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)