Sun, 21 May 2017 18:36:28 -0400 checklink: degrade gracefully on posix when fs is readonly (issue5511)
Augie Fackler <augie@google.com> [Sun, 21 May 2017 18:36:28 -0400] rev 32394
checklink: degrade gracefully on posix when fs is readonly (issue5511) In the unlucky case, checklink tries to make a new file for the symlink test to target. If the filesystem is readonly (perhaps due to permissions in a repo owned by someone else) we just report the filesystem as not supporting symlinks, since the user probably can't write anyway.
Fri, 19 May 2017 20:14:31 -0700 revlog: remove some revlogNG terminology
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 19 May 2017 20:14:31 -0700] rev 32393
revlog: remove some revlogNG terminology RevlogNG is not such a good name when it is no longer the newest revlog version. Since we'll soon have revlog version 2, let's remove some references to it.
Fri, 19 May 2017 20:10:50 -0700 revlog: tweak wording and logic for flags validation
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 19 May 2017 20:10:50 -0700] rev 32392
revlog: tweak wording and logic for flags validation First, the logic around the if..elif..elif was subtly wrong and sub-optimal because all branches would be tested as long as the revlog was valid. This patch changes things so it behaves like a switch statement over the revlog version. While I was here, I also tweaked error strings to make them consistent and to read better.
Fri, 19 May 2017 20:01:35 -0700 tests: tests for revlog version and flags loading
Gregory Szorc <gregory.szorc@gmail.com> [Fri, 19 May 2017 20:01:35 -0700] rev 32391
tests: tests for revlog version and flags loading We didn't have explicit test coverage of these branches. Better late than never.
Sun, 21 May 2017 13:32:07 +0200 perf: allow to clear the obsstore in 'perfvolatilesets'
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 21 May 2017 13:32:07 +0200] rev 32390
perf: allow to clear the obsstore in 'perfvolatilesets' Loading the obsstore can become a large part of the time necessary to compute the important volatile set. We add a flag purging all known obsstore related data. For example, computing the 'bumped' set currently requires reading the full obsstore, so timing greatly differ with or without that flag: Without: ! bumped ! wall 0.005047 comb 0.000000 user 0.000000 sys 0.000000 (best of 446) With: ! bumped ! wall 0.512367 comb 0.510000 user 0.480000 sys 0.030000 (best of 15)
Sun, 21 May 2017 13:49:48 +0200 obsolete: test an important corner case
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 21 May 2017 13:49:48 +0200] rev 32389
obsolete: test an important corner case Receiving markers affecting changeset we'll receives later is legitimate and not so uncommon case. Working on cache highlighted that this was only testing in the evolve extension. We add a test for this case in core.
Thu, 18 May 2017 22:47:42 -0700 largefiles: replace always() method, not _always field
Martin von Zweigbergk <martinvonz@google.com> [Thu, 18 May 2017 22:47:42 -0700] rev 32388
largefiles: replace always() method, not _always field We will soon have matchers that don't have an _always field, so largefiles needs to stop assuming that they do. _always is only used by always(), so we safely replace that method instead.
Sun, 21 May 2017 02:45:32 -0400 merge with stable
Augie Fackler <augie@google.com> [Sun, 21 May 2017 02:45:32 -0400] rev 32387
merge with stable
Sun, 21 May 2017 13:41:01 +0900 cext: mark constant variables
Yuya Nishihara <yuya@tcha.org> [Sun, 21 May 2017 13:41:01 +0900] rev 32386
cext: mark constant variables
Sun, 21 May 2017 13:35:19 +0900 cext: move util.h to cext tree
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.
Sun, 21 May 2017 13:31:27 +0900 cext: move back finalization of dirstateTupleType where it should be
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
Tue, 23 May 2017 03:29:23 +0900 dispatch: setup color before pager for correct console information on windows stable
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".
Sat, 20 May 2017 22:27:52 -0700 cleanup: reuse existing wctx variables instead of calling repo[None]
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.
Thu, 18 May 2017 16:43:56 -0400 localrepo: extract bookmarkheads method to bookmarks.py
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.
Sat, 20 May 2017 20:50:29 -0400 tests: avoid renamed files triggering check-commit failures
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.
Sat, 29 Apr 2017 21:39:47 -0700 dispatch: make request accept additional reposetups
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.
Sat, 20 May 2017 14:01:05 -0700 cext: extract revlog/index parsing code to own C file
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
Thu, 04 May 2017 17:13:12 +0900 debugcommands: use temporary dict for its command table
Yuya Nishihara <yuya@tcha.org> [Thu, 04 May 2017 17:13:12 +0900] rev 32377
debugcommands: use temporary dict for its command table Instead, load the table by commands.py so the debug commands should always be populated. The table in debugcommands.py is unnamed so extension authors wouldn't be confused to wrap debugcommands.table in place of commands.table.
Sun, 14 May 2017 16:42:16 +0900 commands: move debugcommands and debugcomplete back to commands module
Yuya Nishihara <yuya@tcha.org> [Sun, 14 May 2017 16:42:16 +0900] rev 32376
commands: move debugcommands and debugcomplete back to commands module These commands depend heavily on the commands table, so it doesn't make much sense to isolate them to debugcommands.py. This helps eliminating the future import cycle.
Sun, 14 May 2017 16:19:47 +0900 commands: move templates of common command options to cmdutil (API)
Yuya Nishihara <yuya@tcha.org> [Sun, 14 May 2017 16:19:47 +0900] rev 32375
commands: move templates of common command options to cmdutil (API) The goal is to get rid of the debugcommands -> commands dependency. Since globalopts is the property of the commands, it's kept in the commands module.
Sat, 13 Aug 2016 12:29:53 +0900 import-checker: drop workaround for pure modules
Yuya Nishihara <yuya@tcha.org> [Sat, 13 Aug 2016 12:29:53 +0900] rev 32374
import-checker: drop workaround for pure modules
Sat, 13 Aug 2016 12:28:52 +0900 policy: drop custom importer for pure modules
Yuya Nishihara <yuya@tcha.org> [Sat, 13 Aug 2016 12:28:52 +0900] rev 32373
policy: drop custom importer for pure modules
Sat, 13 Aug 2016 12:23:56 +0900 parsers: switch to policy importer
Yuya Nishihara <yuya@tcha.org> [Sat, 13 Aug 2016 12:23:56 +0900] rev 32372
parsers: switch to policy importer # no-check-commit
Sat, 13 Aug 2016 12:18:58 +0900 mpatch: switch to policy importer
Yuya Nishihara <yuya@tcha.org> [Sat, 13 Aug 2016 12:18:58 +0900] rev 32371
mpatch: switch to policy importer
Sat, 13 Aug 2016 12:15:49 +0900 diffhelpers: switch to policy importer
Yuya Nishihara <yuya@tcha.org> [Sat, 13 Aug 2016 12:15:49 +0900] rev 32370
diffhelpers: switch to policy importer # no-check-commit
Sat, 13 Aug 2016 12:12:50 +0900 bdiff: switch to policy importer
Yuya Nishihara <yuya@tcha.org> [Sat, 13 Aug 2016 12:12:50 +0900] rev 32369
bdiff: switch to policy importer # no-check-commit
Sat, 13 Aug 2016 12:08:23 +0900 base85: switch to policy importer
Yuya Nishihara <yuya@tcha.org> [Sat, 13 Aug 2016 12:08:23 +0900] rev 32368
base85: switch to policy importer
Fri, 12 Aug 2016 11:35:17 +0900 osutil: switch to policy importer
Yuya Nishihara <yuya@tcha.org> [Fri, 12 Aug 2016 11:35:17 +0900] rev 32367
osutil: switch to policy importer "make clean" is recommended to test this change, though C API compatibility should be preserved.
Fri, 12 Aug 2016 11:30:17 +0900 policy: add helper to import cext/pure module
Yuya Nishihara <yuya@tcha.org> [Fri, 12 Aug 2016 11:30:17 +0900] rev 32366
policy: add helper to import cext/pure module These functions are sysstr API since __import__() and getattr() hate byte strings on Python 3. There's a minor BC, which is ImportError will be raised if invalid HGMODULEPOLICY is specified. I think this is more desired behavior. We're planning to add strict checking for C API compatibility. This patch includes the stub for it.
Sat, 20 May 2017 15:09:14 +0900 demandimport: strictly check missing locals argument
Yuya Nishihara <yuya@tcha.org> [Sat, 20 May 2017 15:09:14 +0900] rev 32365
demandimport: strictly check missing locals argument locals may be an empty dict.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip