branchmap: simplify error handlind when writing rev branch cache
Now that we have a general try except, we can move the error handling from the
individual writes in it.
Code will be reindented in the next changeset to help this on readability.
branchmap: acquires lock before writting the rev branch cache
We now attempt to acquire a lock and write the branch cache within that lock.
This would prevent cache corruption when multiple processes try to write the cache
at the same time.
branchmap: preparatory indent of indent the branch rev writing code
The rev branch cache is written without a lock, we are going to fix this but we
indent the code beforehand to make the next changeset clearer.
mpatch: silence warning about maybe-uninitialized variable
It's false positive, but it wouldn't be possible for gcc to know
PyBytes_FromStringAndSize() sets PyErr_Occurred().
mercurial/mpatch_module.c:105:47: warning: 'r' may be used uninitialized
in this function [-Wmaybe-uninitialized]
PyErr_SetString(mpatch_Error, mpatch_errors[-r]);
mpatch: change lalloc() to local function
It was mistakenly made public at
b9b9f9a92481.
cmdutil: remove duplicated badmatch call in cat()
Subrepo logic is handled in ctx.walk().
statichttprepo: do not try to write caches
The static http repository are read only, there is no hope in any cache
writing attempt.
demandimport: omit default value of "level" at construction of _demandmod
This makes construction of _demandmod require explicit level value,
and helps to avoid issues like
issue5208 in the future.
demandimport: import sub-module relatively as expected (
issue5208)
Before this patch, importing sub-module might (1) fail or (2) success
but import incorrect module, because demandimport tries to import
sub-module with level=-1 (on Python 2.x) or level=0 (on Python 3.x),
which is default value of "level" argument at construction of
"_demandmod" proxy object.
(1) on Python 3.x, importing sub-module always fails to import
existing sub-module
(2) both on Python 2.x and 3.x, importing sub-module might import
same name module on root level unintentionally
On Python 2.x, existing sub-module is prior to this unexpected
module. Therefore, this problem hasn't appeared.
To import sub-module relatively as expected, this patch specifies "1"
as import level explicitly at construction of "_demandmod" proxy
object for sub-module.