help: branch names primarily denote the tipmost unclosed branch head

Was the behavior correct and the description wrong so it should be updated as
in this patch? Or should the code work as the documentation says?

Both ways could make some sense ... but none of them are obvious in all cases.

One place where it currently cause problems is when the current revision has
another branch head that is closer to tip but closed. 'hg rebase' refuses to
rebase to that as it only see the tip-most unclosed branch head which is the
current revision.

/me kind of likes named branches, but no so much how branch closing works ...
rebase: test for empty dest revision
rebase: improve error message for empty --rev set

Before, it just said 'nothing to rebase' in this case. Now, it aborts
mentioning the reason: 'empty "rev" revision set'.

Specifying revisions that cannot be rebased is a 'soft' error, but specifying
an empty set deserves an abort that explains exactly what the problem is.
rebase: improve error message for empty --source set

Before, it just said 'nothing to rebase' in this case. Now, it aborts
mentioning the reason: 'empty "source" revision set'.

Specifying revisions that cannot be rebased is a 'soft' error, but specifying
an empty set deserves an abort that explains exactly what the problem is.
rebase: improve error message for --base being empty or causing emptiness

Before it just said 'nothing to rebase'.

Now 'if "base" is an empty set:
  abort: empty "base" revision set - can't compute rebase set

If the set of changesets to rebase can't be found from "base", it will fail as
before but with more explanation of what the problem was.

The name of the "base" option is not obvious - it is more like "samples
identifying the branch to rebase". The error messages for problems with the
specified "base" value will use that term and might thus also not be obvious,
but at least they are consistent with the option name. The name "base" will not
be used if the base only was specified implicitly as the working directory
parent.
rebase: remove old code for handling empty rebaseset
tests: introduce test for rebasing on named branches with closed heads
hgweb: fix regexp for other styles like monoblue

Some styles have indentation.
hgweb: avoid invalid infinity scroll request when overwritten web.style

Infinity scroll is broken when you override the web.style in the following ways:

    $ hg --config='web.style=gitweb' serve
    $ open http://localhost:8080/shortlog?style=paper

ajaxScrollInit should use http://localhost:8080/shortlog/%next%?style=paper.
however, http://localhost:8080/shortlog/%next% is used actually.
It is missing style parameter.

This patch add style parameter to request url.
hgweb: infinite scroll support for gitweb style
hgweb: infinite scroll support for monoblue style
test-hgweb-*: output change fixes from b1d65cb8

--HG--
extra : histedit_source : c7737571d1a3b8713bc637661a61c50f2b5d69a3
hgweb: infinite scroll support for coal style

--HG--
extra : histedit_source : ac835017215267bb75c0ac61a7005c48e1b71a0d
run-tests: report tests as failed when run-test raises an error

Before no message was returned to the main thread. No result was registered
and no new thread was started.
This does not happen when running normal. But when fiddling around with
the test infrastructure, this helps a lot.
run-tests: set the thread name to the test name for info on error

This does not happen when running normal. But when fiddling around with
the test infrastructure, this helps a lot.

  Old traceback messge
Exception in thread Thread-7:
Traceback (most recent call last):
...

  new traceback message
Exception in thread test-something.t:
Traceback (most recent call last):
...

--HG--
extra : rebase_source : 4d1cb27867790e60c0de4f2c279d06a1e7029a65
branchmap: remove silly line break

The line fit in 80 character limit without it. It is even shorter without it.

--HG--
extra : rebase_source : 44182a81c5a40c36d63ae1b41afbdc4ba86b3670
branchmap: stop membership test in update logic

Now that no user try to update the cache on a truncated repo we can drop the
extra lookup. Give an handfull percent speedup on big branchmap update.

--HG--
extra : rebase_source : 0d7d800eed769406c630a421651e8e5e39505d87
branchmap: stop useless rev -> node -> rev round trip

We never use the node of new revisions unless in the very specific case of
closed heads. So we can just use the revision number.

So give another handfull of percent speedup.

--HG--
extra : rebase_source : 9ab0b704836f97be9524ce13e3524a666c53f188
branchmap: simplify update code

We drop iterrevs which are not needed anymore. The know head are never a
descendant of the updated set. It was possible with the old strip code. This
simplification make the code easier to read an update.

--HG--
extra : rebase_source : a365a42fe575cd3a0b726861fc56c1d6ab89e511
branchmap: use set for update code

We are doing membership test and substraction. new code is marginally faster.

--HG--
extra : rebase_source : 4fd3d79b0a68d1c4b1fa06a14b1e329ab0ff9456