Sat, 05 Dec 2015 23:48:22 +0900 rebase: drop redundant functions to keep branch and graft source explicitly
Yuya Nishihara <yuya@tcha.org> [Sat, 05 Dec 2015 23:48:22 +0900] rev 27260
rebase: drop redundant functions to keep branch and graft source explicitly All entries in extra dict are propagated by default since 88fde8db5307.
Sat, 05 Dec 2015 23:41:11 +0900 color: drop useless override of ui.popbuffer()
Yuya Nishihara <yuya@tcha.org> [Sat, 05 Dec 2015 23:41:11 +0900] rev 27259
color: drop useless override of ui.popbuffer() Because labels are applied at write() time since 717b75ae5bb0, colorui.popbuffer() is useless and it doesn't update _bufferapplylabels correctly. Removing it should fix the problem.
Fri, 04 Dec 2015 14:22:15 -0800 repoview: bypass changelog method to computed cache key
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 04 Dec 2015 14:22:15 -0800] rev 27258
repoview: bypass changelog method to computed cache key Getting the data necessary for the cache key using the changelog/revlog method adds a significant overhead. Given how simple the underlying implementation is and often this code is ran, it makes sense to violate layering and directly compute the data. Testing `hg log` on Mozilla-central, this reduce the time spent on changelog cache validation by an extra half: before: 12.2s of 69s after: 6.1s of 62s Total speed up from this patch and it's parent is 3x (With stupid python profiler overhead) The global speedup without profiler overhead is still there, Before: 51s After: 39s (-23%)
Fri, 04 Dec 2015 14:04:24 -0800 repoview: stop recomputing cached key in all case
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 04 Dec 2015 14:04:24 -0800] rev 27257
repoview: stop recomputing cached key in all case As explained in the comment, we were computing the key of the cache value every time because of some obscure MQ test failure. I've dropped that code and ran the test again that failure is gone. I assume some transaction cleanup got rid of it. So we are dropping that code. This provide a significant speedup. Testing `hg log` on Mozilla-central this reduce the time spent on changelog cache validation by a third: before: 19.5s of 80s after: 12.2s of 69s (With stupid python profiler overhead)
Sat, 05 Dec 2015 21:40:38 -0800 commands.debugindexdot: use cmdutil.openrevlog()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 05 Dec 2015 21:40:38 -0800] rev 27256
commands.debugindexdot: use cmdutil.openrevlog() This pattern is used for all the other debug* commands that operate on revlogs. debugindexdot is an outlier. Make it conform.
Sat, 05 Dec 2015 21:47:39 -0800 commands: unify argument handling for revlog debug commands
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 05 Dec 2015 21:47:39 -0800] rev 27255
commands: unify argument handling for revlog debug commands The same 3 options are used in a few locations and I'm about to add another. Might as well consolidate the pattern.
Sun, 06 Dec 2015 17:16:37 +0900 commit: fix rest syntax of examples
Yuya Nishihara <yuya@tcha.org> [Sun, 06 Dec 2015 17:16:37 +0900] rev 27254
commit: fix rest syntax of examples This fixes the formatting of help/commit page and silence test-gendoc.t.
Sat, 05 Dec 2015 20:24:39 -0800 ui: optionally ignore sub-options from configitems()
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 05 Dec 2015 20:24:39 -0800] rev 27253
ui: optionally ignore sub-options from configitems() For convenience.
Sat, 05 Dec 2015 20:20:57 -0800 ui: add method to return option and all sub-options
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 05 Dec 2015 20:20:57 -0800] rev 27252
ui: add method to return option and all sub-options Apparently ":" has been blessed as a generic separator for options and sub-options. We formalize this by introducing an API for obtaining an option and all its sub-options. This will be used in a subsequent patch for declaring sub-options for [paths].
Fri, 04 Dec 2015 17:46:56 -0800 revlog: don't consider nullrev when choosing delta base
Martin von Zweigbergk <martinvonz@google.com> [Fri, 04 Dec 2015 17:46:56 -0800] rev 27251
revlog: don't consider nullrev when choosing delta base In the most complex case, we try using the incoming delta base, then we try both parents, and then we try the previous revlog entry. If none of these result in a good delta, we natually use the null revision as base. However, we sometimes consider the nullrev before we have exhausted our other options. Specifically, when both parents are null, we use the nullrev as delta base if it produces a good delta (according to _isgooddelta()), and we fail to try the previous revlog entry as delta base. After 20a9226bdc8a (addrevision: use general delta when the incoming base delta is bad, 2015-12-01), it can also happen for non-merge commits when the incoming delta is not good. The Firefox repo (from many months back) shrinks a tiny bit with this patch: from 1.855GB to 1.830GB (1.4%). The hg repo itself shrinks even less: by less than 0.1%. There may be repos that get larger instead. This undoes the unexplained test change in 20a9226bdc8a.
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip