Matt Harbison <matt_harbison@yahoo.com> [Sun, 19 Mar 2017 12:44:45 -0400] rev 31506
color: sync text attributes and buffered text output on Windows (issue5508)
I originally noticed that log output wasn't being colored after 3a4c0905f357,
but there were other complications too. With a bunch of untracked files, only
the first 1K of characters were colored pink, and the rest were normal white. A
single modified file at the top would also be colored pink.
Line buffering and full buffering are treated as the same thing in Windows [1],
meaning the stream is either buffered or not. I can't find any explicit
documentation to say stdout is unbuffered by default when attached to a console
(but some internet postings indicated that is the case[2]). Therefore, it seems
that explicit flushes are better than just not reopening stdout.
NB: pager is now on by default, and needs to be disabled to see any color on
Windows.
[1] https://msdn.microsoft.com/en-us/library/86cebhfs(v=vs.140).aspx
[2] https://sourceforge.net/p/mingw/mailman/message/27121137/
Matt Harbison <matt_harbison@yahoo.com> [Sun, 19 Mar 2017 14:42:45 -0400] rev 31505
test-check-help: fix to work on Windows
The initial problem was `hg files` prints paths with '\', which gets removed
when piped (scanhelptopics.py failed to open 'hgext__init__.py'). Then, xargs
was invoking `hg help` with 'backout\r (esc)', which setting binary mode
prevents.
Augie Fackler <augie@google.com> [Sun, 19 Mar 2017 01:01:25 -0400] rev 31504
branchmap: be more careful about using %d on ints
Not doing so breaks Python 3.
Augie Fackler <augie@google.com> [Sun, 19 Mar 2017 00:16:39 -0400] rev 31503
util: use bytes re on bytes input in fspath
Fixes `hg add` on Python 3.
Augie Fackler <augie@google.com> [Sun, 19 Mar 2017 00:16:08 -0400] rev 31502
util: use pycompat.bytestr in checkwinfilename
Fixes `hg add` on python3.
Augie Fackler <augie@google.com> [Sun, 19 Mar 2017 00:22:04 -0400] rev 31501
dispatch: ensure repr is bytes in _mayberepr
Fixes command line arguments containing spaces on Python 3.
Augie Fackler <augie@google.com> [Sun, 19 Mar 2017 00:21:26 -0400] rev 31500
dispatch: extract maybe-use-repr formatting to helper function
I think this makes the code much clearer. I had to think for a bit to
unpack the old-school `condition and if-true or if-false` dance, and
formatting argument lists here shouldn't be performance critical.
Augie Fackler <augie@google.com> [Sun, 19 Mar 2017 00:18:53 -0400] rev 31499
dispatch: consolidate formatting of arguments
This was getting done twice, and it's clever enough I'm about to split
it apart and then fix it for Python 3.
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 17 Mar 2017 05:10:58 +0530] rev 31498
py3: make the regular expression bytes to prevent TypeError
Yuya Nishihara <yuya@tcha.org> [Sat, 25 Feb 2017 17:29:30 +0900] rev 31497
pager: flush outputs before firing pager process
So that buffered outputs are always sent to the console.