merge default into stable for 2.7 code freeze

--HG--
branch : stable
template: fix tabindent docstring (issue2880)

--HG--
branch : stable
convert: catch empty origpaths in svn gettags (issue3941)

--HG--
branch : stable
heads: modernize documentation (issue3992)

The old docs emphasized topological heads rather than branch heads and
incorrectly defined branch heads as not having children rather than
descendants.

--HG--
branch : stable
fileset: handle underbar in symbols

This was documented, but not implemented.

--HG--
branch : stable
extra : amend_source : 03a3a7150bfec1fd6a2646574b005ec2657e22fb
revlog: handle hidden revs in _partialmatch (issue3979)

Looking up hidden prefixes could cause a no node exception
Looking up unique non-hidden prefixes could be ambiguous

--HG--
branch : stable
largefiles: overridematch() should replace the file path instead of extending (issue3934)

--HG--
branch : stable
i18n-pt_BR: synchronized with bf6bc4681383

--HG--
branch : stable
histedit: refuse to edit history that contains merges (issue3962)

--HG--
branch : stable
cmdutil: core functionality to block during multistep commands (issue3955)

This adds a registration point and check functions that will allow
commands to check if multistep operations like an interrupted graft or
rebase are in progress before proceeding.

--HG--
branch : stable
extra : rebase_source : 40ea960e38d965df7922bb79ddca01c65de0b215
update: clear any clearable unfinished operations (issue3955)

Unclearable operations will cause an abort.

--HG--
branch : stable
extra : rebase_source : a13d71844c614681ca5c59f056bbc746d63d6296
commands: add checks for unfinished operations (issue3955)

commands checked:
  backout
  bisect
  commit
  graft
  import

--HG--
branch : stable
extra : rebase_source : 70ab6cd2f91f429efde78ece3ea26aa88293f20d
rebase: reorder parent check and state storage

This could cause a rebase to be 'in progress' even though it aborted.

--HG--
branch : stable
extra : rebase_source : 9dd3fa0f81f41623621952f23f9af1c9d3bda3c8
rebase: add checkunfinished support (issue3955)

--HG--
branch : stable
extra : rebase_source : 4083da861e344919496ff5666a454caf5ecfdf53
histedit: add checkunfinished support (issue3955)

The tests contain a couple corner cases where workarounds are now
required. Strictly speaking, these are behavior regressions, but of an
extremely obscure and marginal sort. Commits or updates in the middle
of a histedit would have almost always been fairly serious user error.

--HG--
branch : stable
extra : rebase_source : c2500334d0a3f792b5c2ae1473ac8690c5ea052a
transplant: add checkunfinished (issue3955)

Nobody loves transplant anymore, but it was the first command to have
a --continue flag.

--HG--
branch : stable
extra : rebase_source : e9cf2098522baa244ad1689c6a39006d29c6c289
mq: add checkunfinished support (issue3955)

--HG--
branch : stable
extra : rebase_source : 929bdf132592f4cca33663075f5a1a57e433bd80
update: add tracking of interrupted updates (issue3113)

This takes advantage of the new checkunfinished infrastructure

--HG--
branch : stable
extra : rebase_source : 9aef508c3539b0f19571b8ec7e730d926c1886e9
merge with i18n

--HG--
branch : stable
hgweb: always start graph with the revision in url

It is the same fix for graph command, as was recently for log. This makes the
specified revision be always on top of the graph view.
Before the patch, for example with repo having revisions 0, 1, 2, 3 and revision
in url being '2', all revisions were shown and the specified one wasn't
the first.

--HG--
branch : stable