hg: always create new localrepository instance
cachedlocalrepo.copy() didn't actually create new localrepository
instances. This meant that the new thread isolation code in hgweb wasn't
actually using separate localrepository instances, even though it was
properly using separate cachedlocalrepo instances.
Because the behavior of the API changed, the single caller in hgweb had
to be refactored to always call _webifyrepo() or it may not have used
the proper filter.
I confirmed via print() debugging that id(repo) is in fact different on
each thread. This was not the case before.
For reasons I can't yet explain, this does not fix
issue4756. I suspect
there is shared cache somewhere that isn't thread safe.
test-bad-extension: reduce dependencies on other things
test-bad-extension would jitter if the format of the first line
of hg help changed, which isn't relevant to its goal.
help: fix help argument parsing and documentation
support combining -c and -e
previously -k was misdocumented:
* the first line didn't mention it
* the help half implied you could do help -k keyword topic
with these changes, -k just changes the search method
support -c and -e for -k searches
dispatch: use the right context manager to deactivate demandimport
In
e86d12404d69 I very embarrassingly wrote a patch with the
completely wrong function name. This should fix it.
ui: improve docs on ui.log
This makes the documentation on ui.log line up with the use of that
interface in blackbox.
templater: switch ctx of list expression to rev of revset() (BC)
Because revset() function generates a list of revisions, it seems sensible
to switch the ctx as well where a list expression will be evaluated. I think
"{revset(...) % "..."}" expression wasn't considered well when it was
introduced at
cda9d2b6beab.