@@ -17,7 +17,6 @@ import traceback
# Modules that have both Python and C implementations.
_dualmodules = (
- 'mpatch.py',
'parsers.py',
)
@@ -26,7 +26,6 @@ allowsymbolimports = (
# Modules that have both Python and C implementations.
_dualmodules = (
- 'mpatch.py',
'parsers.py',
)
@@ -15,7 +15,7 @@
<File Name="mercurial.cext.base85.pyd" />
<File Name="mercurial.cext.bdiff.pyd" />
<File Name="mercurial.cext.diffhelpers.pyd" />
- <File Name="mercurial.mpatch.pyd" />
+ <File Name="mercurial.cext.mpatch.pyd" />
<File Name="mercurial.cext.osutil.pyd" />
<File Name="mercurial.parsers.pyd" />
<File Name="pyexpat.pyd" />
@@ -23,7 +23,6 @@ modulepolicy = policy.policy
# Modules that have both Python and C implementations. See also the
# set of .py files under mercurial/pure/.
_dualmodules = {
- 'mercurial.mpatch',
'mercurial.parsers',
}
rename from mercurial/mpatch_module.c
rename to mercurial/cext/mpatch.c
@@ -179,7 +179,7 @@ PyMODINIT_FUNC PyInit_mpatch(void)
if (m == NULL)
return NULL;
- mpatch_Error = PyErr_NewException("mercurial.mpatch.mpatchError",
+ mpatch_Error = PyErr_NewException("mercurial.cext.mpatch.mpatchError",
NULL, NULL);
Py_INCREF(mpatch_Error);
PyModule_AddObject(m, "mpatchError", mpatch_Error);
@@ -193,7 +193,7 @@ initmpatch(void)
{
PyObject *m;
m = Py_InitModule3("mpatch", methods, mpatch_doc);
- mpatch_Error = PyErr_NewException("mercurial.mpatch.mpatchError",
+ mpatch_Error = PyErr_NewException("mercurial.cext.mpatch.mpatchError",
NULL, NULL);
PyModule_AddIntConstant(m, "version", version);
}
@@ -986,12 +986,10 @@ def debuginstall(ui, **opts):
if policy.policy in ('c', 'allow'):
err = None
try:
- from . import (
- mpatch,
- )
from .cext import (
base85,
bdiff,
+ mpatch,
osutil,
)
dir(bdiff), dir(mpatch), dir(base85), dir(osutil) # quiet pyflakes
@@ -14,13 +14,13 @@ import zlib
from .i18n import _
from . import (
error,
- mpatch,
policy,
pycompat,
util,
)
bdiff = policy.importmod(r'bdiff')
+mpatch = policy.importmod(r'mpatch')
blocks = bdiff.blocks
fixws = bdiff.fixws
@@ -9,7 +9,7 @@ from __future__ import absolute_import
import struct
-from . import policy, pycompat
+from .. import policy, pycompat
stringio = pycompat.stringio
modulepolicy = policy.policy
policynocffi = policy.policynocffi
@@ -167,4 +167,3 @@ if modulepolicy not in policynocffi:
res = ffi.buffer(buf, outlen)[:]
lib.mpatch_lfree(patch)
return res
-
@@ -631,8 +631,8 @@ extmodules = [
Extension('mercurial.cext.diffhelpers', ['mercurial/cext/diffhelpers.c'],
include_dirs=common_include_dirs,
depends=common_depends),
- Extension('mercurial.mpatch', ['mercurial/mpatch.c',
- 'mercurial/mpatch_module.c'],
+ Extension('mercurial.cext.mpatch', ['mercurial/mpatch.c',
+ 'mercurial/cext/mpatch.c'],
include_dirs=common_include_dirs,
depends=common_depends),
Extension('mercurial.parsers', ['mercurial/dirs.c',
@@ -12,4 +12,4 @@ Test for CVE-2016-3630
0 0 19 -1 2 99e0332bd498 000000000000 000000000000
1 19 12 0 3 6674f57a23d8 99e0332bd498 000000000000
$ hg debugdata a.i 1 2>&1 | egrep 'Error:.*decoded'
- (mercurial.mpatch.)?mpatchError: patch cannot be decoded (re)
+ (mercurial\.\w+\.mpatch\.)?mpatchError: patch cannot be decoded (re)