hgweb: eliminate extra complexity in process_dates definition

There was an extra anonymous outer function, called immediately. It is removed
in this patch.

--HG--
extra : rebase_source : b8b2ece6b710a5e08206de805e1942349a3cd55f
histedit: abort if there are multiple roots in "--outgoing" revisions

Before this patch, if there are multiple roots in "--outgoing"
revisions, result of "histedit --outgoing" depends on the parent of
the working directory. It succeeds only when the parent of the working
directory is a descendant of the oldest root in "--outgoing"
revisions, and fails otherwise.

It seems to be ambiguous and difficult for users.

This patch makes "histedit --outgoing" abort if there are multiple
roots in "--outgoing" revisions always.

--HG--
extra : rebase_source : d4d5ee556b337b59006f0ac18c1f8354494efc85
histedit: add more detailed help about "--outgoing"

--HG--
extra : rebase_source : ed9443b66b0c0c17fc18f49e94765df57b58fb81
branchmap: fix blank line position

The blank line was after was after the `if` condition instead of before.

--HG--
extra : rebase_source : 976820ce39f22cc754d02fea8fdbcc4851403481
histedit: abort if there are multiple roots in "--outgoing" revisions

Before this patch, if there are multiple roots in "--outgoing"
revisions, result of "histedit --outgoing" depends on the parent of
the working directory. It succeeds only when the parent of the working
directory is a descendant of the oldest root in "--outgoing"
revisions, and fails otherwise.

It seems to be ambiguous and difficult for users.

This patch makes "histedit --outgoing" abort if there are multiple
roots in "--outgoing" revisions always.

--HG--
branch : stable
extra : source : 44d7bfe08c14bd389d18b8bfd3d5687809ad3f62
histedit: add more detailed help about "--outgoing"

--HG--
branch : stable
extra : source : e7c0e5f81367b386befc2ed6714933113d05b307
branchmap: remove the droppednodes logic

It was unused. note how it is only extended if the list is empty. So it's always
empty at the end.

We could try to fix that, however this would part of the code is to be removed
in the next changeset as we do not run `branchmap` on truncated repo since
`repoview` in 2.5.

--HG--
extra : rebase_source : 522e7e0de196a17c430da6dfb6b73d707deebc42
branchmap: stop looking for stripped branch

Since repoview in 2.5 we do not make special call to `branchmap` when stripping.
We just recompute the branchmap from a lower subset that still has valid
branchmap. So I'm dropping this dead code.

--HG--
extra : rebase_source : 34176a3a74573261bce37675ad978c586820fe5f
discovery: abort also when pushing multiple headed new branch

Before this patch, pushing with --new-branch permits to create
multiple headed branch on the destination repository.

But permitting to create new branch should be different from
permitting to create multiple heads on branch.

This patch prevents from careless pushing multiple headed new branch,
and requires --force to push such branch forcibly.

--HG--
extra : rebase_source : 31b4c444b3387f7922993ce490efc4ac4dbae38f
merge with stable