Wed, 26 Apr 2017 23:30:52 +0900 debuginstall: check C extensions only if they are loadable per policy
Yuya Nishihara <yuya@tcha.org> [Wed, 26 Apr 2017 23:30:52 +0900] rev 32249
debuginstall: check C extensions only if they are loadable per policy This check is useless in pure installation and I want to make it directly import C extension modules.
Wed, 26 Apr 2017 22:26:28 +0900 osutil: proxy through util (and platform) modules (API)
Yuya Nishihara <yuya@tcha.org> [Wed, 26 Apr 2017 22:26:28 +0900] rev 32248
osutil: proxy through util (and platform) modules (API) See the previous commit for why. Marked as API change since osutil.listdir() seems widely used in third-party extensions. The win32mbcs extension is updated to wrap both util. and windows. aliases.
Wed, 26 Apr 2017 22:05:59 +0900 mpatch: proxy through mdiff module
Yuya Nishihara <yuya@tcha.org> [Wed, 26 Apr 2017 22:05:59 +0900] rev 32247
mpatch: proxy through mdiff module See the previous commit for why.
Wed, 26 Apr 2017 22:03:37 +0900 bdiff: proxy through mdiff module
Yuya Nishihara <yuya@tcha.org> [Wed, 26 Apr 2017 22:03:37 +0900] rev 32246
bdiff: proxy through mdiff module See the previous commit for why. mdiff seems a good place to host bdiff functions. bdiff.bdiff was already aliased as textdiff, so we use it.
Wed, 26 Apr 2017 21:56:47 +0900 base85: proxy through util module
Yuya Nishihara <yuya@tcha.org> [Wed, 26 Apr 2017 21:56:47 +0900] rev 32245
base85: proxy through util module I'm going to replace hgimporter with a simpler import function, so we can access to pure/cext modules by name: # util.py base85 = policy.importmod('base85') # select pure.base85 or cext.base85 # cffi/base85.py from ..pure.base85 import * # may re-export pure.base85 functions This means we'll have to use policy.importmod() function in place of the standard import statement, but we wouldn't want to write it every place where C extension modules are used. So this patch makes util host base85 functions.
Tue, 02 May 2017 17:05:22 +0900 mdiff: move re-exports to top
Yuya Nishihara <yuya@tcha.org> [Tue, 02 May 2017 17:05:22 +0900] rev 32244
mdiff: move re-exports to top This style seems more common in our codebase.
Tue, 02 May 2017 19:10:55 +0900 test-commit-interactive-curses: remove unused import of parsers
Yuya Nishihara <yuya@tcha.org> [Tue, 02 May 2017 19:10:55 +0900] rev 32243
test-commit-interactive-curses: remove unused import of parsers
Mon, 08 May 2017 11:35:23 -0700 strip: make tree stripping O(changes) instead of O(repo)
Durham Goode <durham@fb.com> [Mon, 08 May 2017 11:35:23 -0700] rev 32242
strip: make tree stripping O(changes) instead of O(repo) The old tree stripping logic iterated over every tree revlog in the repo looking for commits that had revs to be stripped. That's very inefficient in large repos. Instead, let's look at what files are touched by the strip and only inspect those revlogs. I don't have actual perf numbers, since internally we don't use a true treemanifest, but simply iterating over hundreds of thousands of revlogs takes many, many seconds, so this should help tremendously when stripping only a few commits.
Mon, 08 May 2017 11:35:23 -0700 strip: move tree strip logic to it's own function
Durham Goode <durham@fb.com> [Mon, 08 May 2017 11:35:23 -0700] rev 32241
strip: move tree strip logic to it's own function This will allow external extensions to modify tree strip behavior more precisely.
Mon, 08 May 2017 09:39:21 -0700 manifest: remove unused property _oldmanifest
Martin von Zweigbergk <martinvonz@google.com> [Mon, 08 May 2017 09:39:21 -0700] rev 32240
manifest: remove unused property _oldmanifest The last use seems to have gone away in 7c7d845f8b64 (manifest: make manifestlog use it's own cache, 2016-11-10).
Fri, 05 May 2017 04:48:42 +0530 py3: convert key to str to make kwargs.pop work in mq
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 05 May 2017 04:48:42 +0530] rev 32239
py3: convert key to str to make kwargs.pop work in mq The keys are passed here and there as unicodes and our transformer make things bytes. Due to that, mq was not poped and this results in error on Py3. Here we abuse r'' to make that str on Python 3.
Fri, 05 May 2017 04:41:45 +0530 py3: convert kwargs' keys to str before passing in cmdutil.getcommiteditor
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 05 May 2017 04:41:45 +0530] rev 32238
py3: convert kwargs' keys to str before passing in cmdutil.getcommiteditor
Wed, 03 May 2017 23:50:41 -0700 diff: add a fast path to avoid loading binary contents
Jun Wu <quark@fb.com> [Wed, 03 May 2017 23:50:41 -0700] rev 32237
diff: add a fast path to avoid loading binary contents When diffing binary contents, with certain configs, we can show "Binary file <name> has changed" without actual content. That allows a fast path where we could avoid providing actual binary contents. Note: in that case we still need to test if two contents are the same, that's done by using "filectx.cmp", which could have its own fast path.
Fri, 05 May 2017 17:20:32 -0700 diff: correct binary testing logic
Jun Wu <quark@fb.com> [Fri, 05 May 2017 17:20:32 -0700] rev 32236
diff: correct binary testing logic This seems to be more correct given the table drawn in the previous patch. Namely, "losedatafn" and "opts.git" are removed, "not opts.text" is added. - losedatafn: diff output (binary) should not be affected by "losedatafn" - opts.git: binary testing is helpful for detecting a fast path in the next path. the fast path can also be used if opts.git is False - opts.text: if it's set, we should treat the content as non-binary
Fri, 05 May 2017 16:48:58 -0700 diff: draw a table about binary diff behaviors
Jun Wu <quark@fb.com> [Fri, 05 May 2017 16:48:58 -0700] rev 32235
diff: draw a table about binary diff behaviors The table should make it easier to reason about future changes.
(0) -30000 -10000 -3000 -1000 -300 -100 -15 +15 +100 +300 +1000 +3000 +10000 tip