Sun, 30 Aug 2015 13:58:11 -0700 revlog: change generaldelta delta parent heuristic
Durham Goode <durham@fb.com> [Sun, 30 Aug 2015 13:58:11 -0700] rev 26117
revlog: change generaldelta delta parent heuristic The old generaldelta heuristic was "if p1 (or p2) was closer than the last full text, use it, otherwise use prev". This was problematic when a repo contained multiple branches that were very different. If commits to branch A were pushed, and the last full text was branch B, it would generate a fulltext. Then if branch B was pushed, it would generate another fulltext. The problem is that the last fulltext (and delta'ing against `prev` in general) has no correlation with the contents of the incoming revision, and therefore will always have degenerate cases. According to the blame, that algorithm was chosen to minimize the chain length. Since there is already code that protects against that (the delta-vs-fulltext code), and since it has been improved since the original generaldelta algorithm went in (2011), I believe the chain length criteria will still be preserved. The new algorithm always diffs against p1 (or p2 if it's closer), unless the resulting delta will fail the delta-vs-fulltext check, in which case we delta against prev. Some before and after stats on manifest.d size. internal large repo old heuristic - 2.0 GB new heuristic - 1.2 GB mozilla-central old heuristic - 242 MB new heuristic - 261 MB The regression in mozilla central is due to the new heuristic choosing p2r as the delta when it's closer to the tip. Switching the algorithm to always prefer p1r brings the size back down (242 MB). This is result of the way in which mozilla does merges and pushes, and the result could easily swing the other direction in other repos (depending on if they merge X into Y or Y into X), but will never be as degenerate as before. I future patch will address the regression by introducing an optional, even more aggressive delta heuristic which will knock the mozilla manifest size down dramatically.
Sun, 30 Aug 2015 13:34:30 -0700 revlog: move textlen calculation to be above delta chooser
Durham Goode <durham@fb.com> [Sun, 30 Aug 2015 13:34:30 -0700] rev 26116
revlog: move textlen calculation to be above delta chooser This moves the textlen calculation to be above the delta chooser. Since textlen is needed for calling isgooddelta, we need it above the delta chooser so future patches can call isgooddelta.
Sun, 30 Aug 2015 13:33:00 -0700 revlog: move delta check to it's own function
Durham Goode <durham@fb.com> [Sun, 30 Aug 2015 13:33:00 -0700] rev 26115
revlog: move delta check to it's own function This moves the delta vs fulltext comparison to its own function. This will allow us to reuse the function in future patches for more efficient delta choices. As a side effect, this will also allow extensions to modify our delta criteria.
Wed, 19 Aug 2015 21:43:13 +0800 monoblue: add archive links on summary page
Anton Shestakov <av6@dwimlabs.net> [Wed, 19 Aug 2015 21:43:13 +0800] rev 26114
monoblue: add archive links on summary page
Sun, 30 Aug 2015 19:03:38 -0400 help: distinguish sections when multiple match (issue4802)
timeless@mozdev.org [Sun, 30 Aug 2015 19:03:38 -0400] rev 26113
help: distinguish sections when multiple match (issue4802)
Mon, 31 Aug 2015 17:21:38 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 31 Aug 2015 17:21:38 -0500] rev 26112
merge with stable
Tue, 25 Aug 2015 00:06:41 -0400 hghave: add a check for docker support
Augie Fackler <augie@google.com> [Tue, 25 Aug 2015 00:06:41 -0400] rev 26111
hghave: add a check for docker support This currently refuses to operate if on a non-Linux host. I suspect that Docker running on FreeBSD 11 or on an Illumos derivative would work fine, but I don't have ready access to such a system. On OS X using boot2docker (I used a hacky xhyve-based one for testing), it won't work because $TESTTEMP doesn't end up inside the set of directories that get forwarded to the boot2docker VM, so you can't actually drop debs in the $TESTTEMP at all. It would be possible (probably even trivial) to hack around this by using a randomly-named temporary directory inside the working directory, but that seems unlikely to be useful enough to justify the ugliness.
Tue, 25 Aug 2015 00:03:15 -0400 hghave: add a check for debian packaging tools
Augie Fackler <augie@google.com> [Tue, 25 Aug 2015 00:03:15 -0400] rev 26110
hghave: add a check for debian packaging tools
Mon, 24 Aug 2015 22:23:45 -0400 run-tests: add support for marking tests as very slow
Augie Fackler <augie@google.com> [Mon, 24 Aug 2015 22:23:45 -0400] rev 26109
run-tests: add support for marking tests as very slow I want to add tests for our packaging rules, but those necessarily run a whole build, or possibly two if both native packaging and docker are available. This lets us flag such tests with a `#require slow` so that they don't unnecessarily slow down normal test runs.
Tue, 25 Aug 2015 00:02:44 -0400 builddeb: rework how output dir and platform are specified
Augie Fackler <augie@google.com> [Tue, 25 Aug 2015 00:02:44 -0400] rev 26108
builddeb: rework how output dir and platform are specified This makes it possible to write tests for both builddeb and dockerdeb that actually build .debs and then sanity check the contents.
Wed, 26 Aug 2015 10:20:07 -0400 parsers: fix two cases of unsigned long instead of Py_ssize_t
Augie Fackler <augie@google.com> [Wed, 26 Aug 2015 10:20:07 -0400] rev 26107
parsers: fix two cases of unsigned long instead of Py_ssize_t We had to do this before because Python 2.4 didn't understand the n format specifier in Py_BuildValue and friends. We no longer have that problem.
Sat, 04 Jul 2015 16:07:42 +0900 templatefilters: remove redundant 'date' and 'strip' filters
Yuya Nishihara <yuya@tcha.org> [Sat, 04 Jul 2015 16:07:42 +0900] rev 26106
templatefilters: remove redundant 'date' and 'strip' filters These filters are defined as 'date()' and 'strip()' functions. Help messages are moved to the corresponding functions.
Sat, 04 Jul 2015 16:03:36 +0900 templater: introduce unified filter syntax for unary functions
Yuya Nishihara <yuya@tcha.org> [Sat, 04 Jul 2015 16:03:36 +0900] rev 26105
templater: introduce unified filter syntax for unary functions "filter(expr)" is allowed already. This patch adds the opposite, "expr|func".
Sat, 04 Jul 2015 15:59:03 +0900 templater: inline getfilter() to buildfilter()
Yuya Nishihara <yuya@tcha.org> [Sat, 04 Jul 2015 15:59:03 +0900] rev 26104
templater: inline getfilter() to buildfilter() This prepares for the unified filter syntax that will be introduced by the next patch.
Sun, 30 Aug 2015 11:47:43 +0200 clone: fix updaterev to update to latest branch changeset (issue4528)
liscju <piotr.listkiewicz@gmail.com> [Sun, 30 Aug 2015 11:47:43 +0200] rev 26103
clone: fix updaterev to update to latest branch changeset (issue4528) Before this patch if clone --updaterev points to branch which head on src repo wasnt in dest repo, clone updated dest repo to default branch. After applying this patch, if changeset from src repo pointing at given branch is not in dest repo, it searches for changeset pointing for given branch locally in dest repo. Lookup in destination repo: 559: uprev = destrepo.lookup(update) is wrapped by try/except block to preserve current behaviour when given revset to -u is not found - it will not fail,but silently update dest repo to head of default branch.
Thu, 20 Aug 2015 17:19:32 +0200 revsets: makes follow() supports file patterns (issue4757) (BC)
liscju <piotr.listkiewicz@gmail.com> [Thu, 20 Aug 2015 17:19:32 +0200] rev 26102
revsets: makes follow() supports file patterns (issue4757) (BC) Before this patch, follow only supports full, exact filenames. This patch makes follow argument to be treated like file pattern same way like log treats their arguments. It preserves current behaviour of follow() matching paths relative to the repository root by default.
Mon, 31 Aug 2015 23:14:58 +0900 i18n-ja: synchronized with b930d4ef7739 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 31 Aug 2015 23:14:58 +0900] rev 26101
i18n-ja: synchronized with b930d4ef7739
Fri, 28 Aug 2015 15:50:36 -0400 histedit: improve discoverability of edit commit message
timeless@mozdev.org [Fri, 28 Aug 2015 15:50:36 -0400] rev 26100
histedit: improve discoverability of edit commit message
Thu, 27 Aug 2015 17:57:33 -0700 revset: cache smartset's min/max
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 27 Aug 2015 17:57:33 -0700] rev 26099
revset: cache smartset's min/max As the content of a smartset never changes, min and max will never change either. This will save us time when this function is called multiple times. This is relevant for issue4782 but does not fix it.
Fri, 28 Aug 2015 10:53:55 -0400 spelling: behaviour -> behavior
timeless@mozdev.org [Fri, 28 Aug 2015 10:53:55 -0400] rev 26098
spelling: behaviour -> behavior
Fri, 28 Aug 2015 12:18:12 -0400 glossary: fixup use of periods at end of entries
timeless@mozdev.org [Fri, 28 Aug 2015 12:18:12 -0400] rev 26097
glossary: fixup use of periods at end of entries * Include trailing period for entries * Move trailing period inside quotations for example sentences
Fri, 28 Aug 2015 11:31:44 -0400 histedit: fix grammar for help for safety aborts
timeless@mozdev.org [Fri, 28 Aug 2015 11:31:44 -0400] rev 26096
histedit: fix grammar for help for safety aborts
Fri, 28 Aug 2015 11:15:31 +0900 revset: mark reachablerootspure as private
Yuya Nishihara <yuya@tcha.org> [Fri, 28 Aug 2015 11:15:31 +0900] rev 26095
revset: mark reachablerootspure as private
Fri, 28 Aug 2015 11:14:24 +0900 reachableroots: construct and sort baseset in revset module
Yuya Nishihara <yuya@tcha.org> [Fri, 28 Aug 2015 11:14:24 +0900] rev 26094
reachableroots: construct and sort baseset in revset module This can remove the dependency from changelog to revset, which seems a bit awkward for me.
Fri, 21 Aug 2015 16:12:24 -0700 reachableroots: use smartset min
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 21 Aug 2015 16:12:24 -0700] rev 26093
reachableroots: use smartset min smartset min are likely to be optimised, cached or other magical property.
Fri, 21 Aug 2015 16:03:25 -0700 graphmod: stop building a list out of branchgroupiter
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 21 Aug 2015 16:03:25 -0700] rev 26092
graphmod: stop building a list out of branchgroupiter Not only does this defeat the purpose of having `branchgroupiter` an iterable, but this also makes revs something else than a smartset preventing to use revs.min() in the call to reachablerevs.
Mon, 24 Aug 2015 15:40:42 -0700 reachableroots: sort the smartset in the pure version too
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 24 Aug 2015 15:40:42 -0700] rev 26091
reachableroots: sort the smartset in the pure version too Changeset be8a4e0800d8 uses smartset lazy sorting for the C version. We need to apply the same to the pure version for consistency. This is fixing the tests with --pure.
Mon, 24 Aug 2015 23:58:32 -0400 builddeb: actually run make when building the deb (issue4778)
Augie Fackler <augie@google.com> [Mon, 24 Aug 2015 23:58:32 -0400] rev 26090
builddeb: actually run make when building the deb (issue4778) As of this change, we no longer produce broken debs, but I've already got followups written that will produce much more standard-looking packages and test the resulting packages.
Mon, 24 Aug 2015 23:47:43 -0400 docker-debian-jessie: fix errant mkdir
Augie Fackler <augie@google.com> [Mon, 24 Aug 2015 23:47:43 -0400] rev 26089
docker-debian-jessie: fix errant mkdir
Thu, 27 Aug 2015 14:24:39 -0400 makefile: rename debian-jessie to deb
Augie Fackler <augie@google.com> [Thu, 27 Aug 2015 14:24:39 -0400] rev 26088
makefile: rename debian-jessie to deb `make debian-jessie` was a poor name choice on my part, because it really builds a package for the current debian platform, whatever that happens to be, rather than a specific platform. Rename it to just `make deb` so that it's a little clearer. As a result, it now places built debs in a "debian-unknown" directory.
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip