merge with stable
tests: fix windows test failure with largefiles
addremove: only query dirstate once per path

Previously the addremove code queried the dirstate 4 times per path. Now it
only does so once.  On a large repo this brings addremove from 9.5 seconds
to 8.35 seconds (12%).
addremove: don't call lexists, isdir, and islink

The dirstate walk results contain the stat information for each path, so we
don't need to query it again.  On a large repo this makes addremove go from
8.35 seconds to 7.1 (15%).
addremove: don't perform m.exact/rel until needed

Moves the m.exact and m.rel calls within the conditionals they are used in.
On a large repo this brings addremove from 7.1 seconds down to 6.3 (13%).
tests: fix windows test failure in test-subrepo.t

--HG--
branch : stable
hgk: support the old way of getting the current Ttk theme (issue3808)

It seems like the API has changed somewhere around 8.5.7, so the preferred way
of getting the current theme is now [ttk::style theme use], while the
deprecated (but still working) is $::ttk::currentTheme.

--HG--
branch : stable
hgweb: make 'summary' work with hidden changesets (issue3810)

Since the 'summary' view used by e.g. gitweb and monoblue shows both a
changelog and a bookmarks list, the same changes are needed here as were
made to the 'changelog' and 'bookmarks' web commands (56ca4443a343 and
886936ecc21b, respectively).

--HG--
branch : stable
extra : amend_source : 3890503b0485e096d249c6b34bb3cc6bf2113202
merge with stable
merge with stable