merge with stable
revset: change ancestor to accept 0 or more arguments (issue3750)

Change ancestor to accept 0 or more arguments. The greatest common ancestor of a
single changeset is that changeset. If passed no arguments, the empty list is
returned.

--HG--
extra : rebase_source : 332b00e1901ce8613c3f6f6d7ff8cf8535aa2f32
dates: support 'today' and 'yesterday' in parsedate (issue3764)

Adding support to parsedate in util module to understand the more idiomatic
dates 'today' and 'yesterday'.

Added unified tests and docstring tests for added functionality.

--HG--
extra : rebase_source : 9a7643e8907cd6905c7a85a80f3b9fd5e3df9c45
commit: show active bookmark in commit editor helper text

If there is an active bookmark while committing, the bookmark name
will be visible inside the commit message helper, below the branch
name.

This should make easier for the user to detect a mistaken commit
parent, while working for example with a bookmark centric workflow
like topic branches.

The active bookmark is checked to be in the working directory, as
pointed by Kevin Bullock, because otherwise committing would not
advance it. In other words, this would not show the active
bookmark name if the user changed the working tree parents with
'hg debugsetparents', for example.
merge: delay prompts a bit and show them in (extra) sorted order

Preparing for backout of 760c0d67ce5e.

The number of prompts will for all relevant cases be significantly smaller than
the total number of files in the manifests. We can thus afford to sort the
prompts more than we can afford to sort the manifests.
merge: make all action tuples have the same length - keep args as tuple
merge: delay debug messages for merge actions

Show messages at a point where the actions have been sorted, thus preparing for
backout of 760c0d67ce5e.

This makes manifestmerge more of a silent operation, just like 'copies' is.

Indent 'preserving' messages to make them subordinate to the action logging so
they fit in the new context. (The 'preserving' messages are quite redundant and
could also be removed completely.)
merge: backout manifest sorting and workarounds for cost of it

Backout 8a811fa9a9c0 and 760c0d67ce5e which no longer are needed.
merge: don't indent "local changed %s which remote deleted" prompt

It was usually not shown in a context where indentation helped readability and
it was inconsistent with other prompts.
merge: inline act()

The act function had become very trivial and mainly shuffled arguments around
and made it harder to see what really was going on.
largefiles: report localstore errors with single line warnings messages

The actual hash is also not relevant to report.

This makes verify output with multiple failures easier to process.
largefiles: verify status should be written as status, not as write

Make 'hg verify --large -q' quiet when no errors.
largefiles: make verify --lfa and --lfc work without --large

The slightly obscure --lfa and --lfc only worked as modifiers to --large and
could be combined. The documentation was however not clear what they did.

Instead they now imply --large and the description is updated.
profiling: introduce limit configuration option

The number of output lines was hardcoded to 30.

There was a 'nested' configuration options that controlled something else
related to counting the number of output lines.

This introduces the profiling.limit configuration option for controlling the
number of profiling output to show.
Merge crew-stable into crew
bdiff: simplify overflow checks

Rather than check that each delta start, end, and length is within 32
bits, we simply check that the input strings are under 4GB.

--HG--
extra : rebase_source : 074adca3e1ece87e17ade7be587ce639372f6071
merge with stable
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%).