bisect: save current state before running a command

This prevents an external command being run during a bisect from
querying stale data.

--HG--
branch : stable
extra : rebase_source : 9d8cb4e8328d57196aae328a60285a3b77534e88
largefiles: make archive -S store largefiles instead of standins

This is essentially a copy of largefile's override of archive() in the
archival class, adapted for overriding hgsubrepo's archive().  That
means decoding isn't taken into consideration, nor is .hg_archival.txt
generated (the same goes for regular subrepos).  Unlike subrepos, but
consistent with largefile's handling of the top repo, ui.progress() is
*not* called.  This should probably be refactored at some point, but
at least this generates the archives properly for now.  Previously,
the standins were ignored and the largefiles were archived only for
the top level repo.

Long term, it would probably be most desirable to figure out how to
tweak archival's archive() if necessary such that largefiles doesn't
need to override it completely just to special case the translating of
standins to the real files.  Largefiles will already return a context
with the true largefiles instead of the standins if lfilesrepo's
lfstatus is True- perhaps this can be leveraged?
paper, monoblue: link correctly to lines in annotate view

The links were to "foo#123" instead of "foo#l123". The gitweb and
spartan templates were already producing the correct links.

--HG--
branch : stable
merge with stable
largefiles: in putlfile, ensure tempfile's directory exists prior to creation

Let R be a repo served by an hg daemon on a machine with an empty largefiles
cache. Pushing a largefiles repo to R will result in a no-such-file-or-directory
OSError because putlfile will attempt to create a temporary file in
R/.hg/largefiles, which does not yet exist.

This patch also adds a regression test for this scenario.

--HG--
branch : stable
extra : rebase_source : 68c0e3ac032be708ce139a2496838b998182d0f1
subrepo: ignore blank lines in .hgsubstate (issue3424)

Reported by Sebastian Krysmanski <infomail@lordb.de>

--HG--
branch : stable
extra : rebase_source : c8a0b4b60e63efedcf931bcd0bf3e4971554e3d0
subrepo: do not traceback on .hgsubstate parsing errors

Note that aborting in subrepo.state() prevents "repairing" commands like revert
to be issued. The user will have to edit the .hgsubstate manually (but he
probably had already otherwise this would not be failing). The same behaviour
already happens with invalid .hgsub entries.

--HG--
branch : stable
extra : rebase_source : cddd2c1911e8749189cae1a34438a53c12799778
test-largefiles: sort output to ensure test stability
test-largefiles: better formatting of comments
revert: don't re-create changeset context
merge with stable
merge with stable
phases: line.strip().split() == line.split()

--HG--
extra : rebase_source : eebc787013150c052e40f555e7acdfde787ba242
tags: line.rstrip().split() can be replaced with line.split()

The line looks like "123 <node> <node>" and does not start with
whitespace: it was therefore not significant that rstrip was used
instead of strip. Furthermore, the first part is fed to int, which
will itself strip away whitespace before converting the string to an
integer.
factotum: add man reference to help output

--HG--
branch : stable
help/config: remove outdated false claim about pywin32

Since version 1.8 (released on 2011-03-01), Mercurial doesn't use pywin32 any
more. The old fallback mechanism to use C:\Mercurial\Mercurial.ini if pywin32 is
not installed was removed in 244772f67ac1.

--HG--
branch : stable
largefiles: fix "hg status dir" missing regular files (issue3421)

largefiles status implementation attemps to rewrite the input match objects to
match the "standins" as well as the regular files. When fixing the directories
listed in match.files(), if there was related standin entry, it was kept and
the original path discarded. But directories can appear both as regular and
standin entries.

--HG--
branch : stable
commands: parse ui.strict config item as bool

--HG--
branch : stable
check-code: catch unnecessary s.strip().split() calls
merge with stable