check-code: fix an error message
check-code: prepend warning prefix for repeated warnings only once

When a warning occured several times in one file, "warning: " was prepended
several times:

examplefile.py:3:
 > def a(object):
 warning: this looks wrong
examplefile.py:27:
 > def x(object):
 warning: warning: this looks wrong
Merge with stable.
Merge with stable.
merge with stable
date: allow %z in format (issue4040)
Makefile: do update on a temporary copy of a po file

This avoids having a half completed file (with a new timestamp) when msgmerge
has failed.
scmutil: skip checks in "casecollisionauditor" if filename is already checked

Before this patch, almost all of check code in
"casecollisionauditor.__call__()" is executed, even if specified
filename is already checked, because "f in self._newfiles" is examined
lastly.

In addition to it, adding "fl" to "self._loweredfiles" and "f" to
"self._newfiles" are also redundant in such case.

This patch checks "f in self._newfiles" first, and returns immediately
to avoid execution of check code for efficiency.
make: restrict recursion in make clean
tests: skip tests that require not having root (issue4089)

This adds a new root hghave to test against. Almost all of these are a
subset of unix-permissions, but that is also used for checking exec
bit handling.
contrib: add editmerge script for editor conflict prompts

Adds a script that opens the editor to the conflict as part of the merge
process. This way you can fix the merge during the rebase instead of having to
pause the rebase, resolve --mark, rebase --continue.

Only works on unix.
merge with stable
check-code: drop unneeded ignore patterns

The exceptions seem to have disappeared.
check-code: document last ignore regexp

For easier remembering to delete when it is not needed anymore.
help: document about {extras} template keyword

This adds text about the "extras" template keyword, similar to that proposed by
Yuya Nishihara previously.
help: adding example 'extras' printing to 'hg help templates'
template: change extras to use showlist rather than manual templ call.

This enables start_extras and end_extras in template maps.
run-tests: remove code that creates a dummy 'diffstat'

This was introduced in fb1d7a42663c for an old test that is no longer the same.
run-tests: remove files that we potentially create outside of $TMPDIR
transplant: use peer of source repository as "remote" for "repo.pull()"

Before this patch, transplant with "--merge" option fails with
traceback unexpectedly, if it causes pull from the source repository
on the local host.

"discovery.findcommonincoming()" invokes "capable()" method on the
object given from "localrepository.pull()", but it is
"localrepository" object in this case and doesn't have such method.

This patch uses peer object of source repository as "remote" argument
for "localrepository.pull()" invocation like other invocations of it
in transplant.py.