##// END OF EJS Templates
nodemap: double check the source docket when doing incremental update...
nodemap: double check the source docket when doing incremental update In theory, the index will have the information we expect it to have. However by security, it seems safer to double check that the incremental data are generated from the data currently on disk. Differential Revision: https://phab.mercurial-scm.org/D7890

File last commit:

r44085:53607fd3 stable
r44809:1d2b37de default
Show More
bdiffbuild.py
36 lines | 757 B | text/x-python | PythonLexer
from __future__ import absolute_import
import cffi
import os
ffi = cffi.FFI()
with open(
os.path.join(os.path.join(os.path.dirname(__file__), '..'), 'bdiff.c')
) as f:
ffi.set_source(
"mercurial.cffi._bdiff", f.read(), include_dirs=['mercurial']
)
ffi.cdef(
"""
struct bdiff_line {
int hash, n, e;
ssize_t len;
const char *l;
};
struct bdiff_hunk;
struct bdiff_hunk {
int a1, a2, b1, b2;
struct bdiff_hunk *next;
};
int bdiff_splitlines(const char *a, ssize_t len, struct bdiff_line **lr);
int bdiff_diff(struct bdiff_line *a, int an, struct bdiff_line *b, int bn,
struct bdiff_hunk *base);
void bdiff_freehunks(struct bdiff_hunk *l);
void free(void*);
"""
)
if __name__ == '__main__':
ffi.compile()