hgweb: convert {diff} to a mappinggenerator with named template
No more bare generator. Fortunately, this one is associated with a single
template, so it can be a mappinggenerator.
hgweb: use template context to render {lines} of {diff}
This is a preferred way to process nested templates.
hgweb: wrap {lines} of {diff} with mappedgenerator
This can't be a mappinggenerator as it switches the templates conditionally.
hgweb: move prettyprintlines() closure out of diffs()
This will be wrapped with mappedgenerator.
remotenames: enable the storage config option if extension is enabled
Before this patch, the config option to store remotenames was set to False by
default and remotenames extension does not set it True. So if you enable
remotenames extension without setting 'experimental.remotenames=True', you won't
get the remotenames.
This patch makes remotenames enable the config option if then extension is
enabled which makes sense.
Differential Revision: https://phab.mercurial-scm.org/D3520
tests: clone the repo over ssh in tests/test-logexchange.t
Cloning a local repo in tests, and normally too does not perform the actual
clone, rather it copies the file contents. This makes remotenames information
not being transferred. Let's clone over ssh so that we can test remotenames
correctly.
Differential Revision: https://phab.mercurial-scm.org/D3519
remotenames: check the remotepath with url containing user information too
Current logic to match a remotepatch to a user defined path first removes the
authentication information from the url and then tries to match it. However this
is not true every time. If we clone a repo using ssh, the default path contains
the user information too.
Differential Revision: https://phab.mercurial-scm.org/D3518
bdiff: fix yet more fallout from xdiff long/int64 conversion (
issue5885)
"l" in Py_BuildValue's format string means long, so passing int64_t
instead results in fireworks on 32bit architectures.
Differential Revision: https://phab.mercurial-scm.org/D3538