Augie Fackler <augie@google.com> [Sun, 21 May 2017 02:45:32 -0400] rev 32387
merge with stable
Yuya Nishihara <yuya@tcha.org> [Sun, 21 May 2017 13:41:01 +0900] rev 32386
cext: mark constant variables
Yuya Nishihara <yuya@tcha.org> [Sun, 21 May 2017 13:35:19 +0900] rev 32385
cext: move util.h to cext tree
Since util.h isn't useful in plain C module, it should be placed in CPython
extension directory.
Yuya Nishihara <yuya@tcha.org> [Sun, 21 May 2017 13:31:27 +0900] rev 32384
cext: move back finalization of dirstateTupleType where it should be
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 23 May 2017 03:29:23 +0900] rev 32383
dispatch: setup color before pager for correct console information on windows
Before this patch, "hg CMD --pager on" on Windows shows output
unintentionally decorated with ANSI color escape sequences, if color
mode is "auto". This issue occurs in steps below.
1. dispatch() invokes ui.pager() at detection of "--pager on"
2. stdout of hg process is redirected into stdin of pager process
3. "ui.formatted" = True, because isatty(stdout) is so before (2)
4. color module is loaded for colorization
5. color.w32effects = None, because GetConsoleScreenBufferInfo()
fails on stdout redirected at (2)
6. "ansi" color mode is chosen, because of "not w32effects"
7. output is colorized in "ansi" mode because of "ui.formatted" = True
Even if "ansi" color mode is chosen, ordinarily redirected stdout
makes ui.formatted() return False, and colorization is avoided. But in
this issue case, "ui.formatted" = True at (3) forces output to be
colorized.
For correct console information on win32, it is needed to ensure that
color module is loaded before redirection of stdout for pagination.
BTW, if any of enabled extensions has "colortable" attribute, this
issue is avoided even before this patch, because color module is
imported as a part of loading such extension, and extension loading
occurs before setting up pager. For example, mq and keyword have
"colortable".
Martin von Zweigbergk <martinvonz@google.com> [Sat, 20 May 2017 22:27:52 -0700] rev 32382
cleanup: reuse existing wctx variables instead of calling repo[None]
Incidentally, this apparently means we load .hgsub one time less as
well, which affects a test case.
Augie Fackler <augie@google.com> [Thu, 18 May 2017 16:43:56 -0400] rev 32381
localrepo: extract bookmarkheads method to bookmarks.py
This method is only used internally by destutil, and it's obscure
enough I'm willing to just move it without a deprecation warning,
especially since the new method has more constrained functionality.
Design-wise I'd also like to get active bookmark handling folded into
the bookmark store, so that we don't squirrel away an extra attribute
for the active bookmark on the repository object.
Augie Fackler <augie@google.com> [Sat, 20 May 2017 20:50:29 -0400] rev 32380
tests: avoid renamed files triggering check-commit failures
I had to flag some revisions to not undergo check-commit scrutiny
today to get the tests to pass, because they renamed files that had
existing failures which we're not cleaning up. Let's prevent that in
the future by using the extended git diff format to elide moved code.
Jun Wu <quark@fb.com> [Sat, 29 Apr 2017 21:39:47 -0700] rev 32379
dispatch: make request accept additional reposetups
chg needs special logic around repo object creation (like, collecting and
reporting repo path to the master server). Adding "reposetup" to
dispatch.request seems to be an easy and reasonably clean way to allow that.
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 20 May 2017 14:01:05 -0700] rev 32378
cext: extract revlog/index parsing code to own C file
parsers.c is ~3000 lines and ~2/3 of it is related to the revlog
index type.
We already have separate C source files for directory utilities
and manifest parsing. I think the quite unwieldy revlog/index
parsing code should be self-contained as well.
I performed the extraction as a file copy then removed content
from both sides in order to preserve file history and blame.
As part of this, I also had to move the hexdigit table and
function to a shared header since it is used by both parsers.c
and revlog.c
# no-check-commit