Matt Mackall <mpm@selenic.com> [Thu, 21 Nov 2013 15:08:30 -0600] rev 20079
merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 21 Nov 2013 11:49:31 -0600] rev 20078
help: drop help for branches template keyword
The {branches} keyword dates to pre-1.0 Mercurial's tag-like branch
scheme which allowed changesets to be on multiple branches. This is
the last visible vestige of that scheme, users should instead be using
{branch}, possibly with if().
Siddharth Agarwal <sid0@fb.com> [Thu, 21 Nov 2013 12:47:03 -0800] rev 20077
test-command-template.t: fix failure due to trailing whitespace
Matt Mackall <mpm@selenic.com> [Thu, 21 Nov 2013 11:30:52 -0600] rev 20076
templater: makes branches work correctly with stringify (
issue4108)
Durham Goode <durham@fb.com> [Mon, 11 Nov 2013 16:35:12 -0800] rev 20075
manifest: increase lrucache from 3 to 4
During a commit amend there are 4 manifests being handled:
- original commit
- temporary commit
- amended commit
- merge base
This causes a manifest cache miss which hurts perf on large repos. On a large
repo, this fix causes amend to go from 6 seconds to 5.5 seconds.
Durham Goode <durham@fb.com> [Mon, 11 Nov 2013 16:42:49 -0800] rev 20074
strip: add faster revlog strip computation
The previous revlog strip computation would walk every rev in the revlog, from
the bottom to the top. Since we're usually stripping only the top few revs of
the revlog, this was needlessly expensive on large repos.
The new algorithm walks the exact number of revs that will be stripped, thus
making the operation not dependent on the number of revs in the repo.
This makes amend on a large repo go from 8.7 seconds to 6 seconds.
Durham Goode <durham@fb.com> [Mon, 11 Nov 2013 16:40:02 -0800] rev 20073
revlog: return lazy set from findcommonmissing
When computing the commonmissing, it greedily computes the entire set
immediately. On a large repo where the majority of history is irrelevant, this
causes a significant slow down.
Replacing it with a lazy set makes amend go from 11 seconds to 8.7 seconds.
Matt Mackall <mpm@selenic.com> [Tue, 19 Nov 2013 11:29:56 -0500] rev 20072
merge with stable
Siddharth Agarwal <sid0@fb.com> [Sun, 17 Nov 2013 15:11:09 -0800] rev 20071
histedit: hold wlock and lock while in progress
Currently, histedit acquires and releases lock and wlock several times during
its run. This isn't great because it allows other hg processes to come in and
change state. With this fix, lock and wlock are acquired and released exactly
once.
The change to test-histedit-drop.t is a minor implementation one -- the cache
is still correctly invalidated, but it just happens a little later and only
gets printed out because of the unrelated --debug flag.
Matt Mackall <mpm@selenic.com> [Mon, 18 Nov 2013 15:43:45 -0500] rev 20070
merge with i18n