##// END OF EJS Templates
revlog: recommit 49fd21f32695 with a fix for issue6528...
revlog: recommit 49fd21f32695 with a fix for issue6528 `filelog.size` currently special cases two forms of metadata encoding: - copy data via the parent order as flag bit - censor data by peaking into the raw delta All other forms of metadata encoding including the empty metadata block are mishandled. In `basefilectx.cmp` the empty metadata block is explicitly checked to compensate for this. Restore 49fd21f32695, but disable it for filelog, so that the original flag bit use contines to work. Document all this mess for now in preparation of a proper rework. Differential Revision: https://phab.mercurial-scm.org/D11203

File last commit:

r49730:6000f5b2 default
r49876:5b65721a default
Show More
bdiffbuild.py
34 lines | 717 B | text/x-python | PythonLexer
Yuya Nishihara
cffi: rename build scripts...
r32505 import cffi
import os
ffi = cffi.FFI()
Augie Fackler
formatting: blacken the codebase...
r43346 with open(
Manuel Jacob
cffi: fix build on Python 3...
r44085 os.path.join(os.path.join(os.path.dirname(__file__), '..'), 'bdiff.c')
Augie Fackler
formatting: blacken the codebase...
r43346 ) as f:
ffi.set_source(
Manuel Jacob
cffi: fix build on Python 3...
r44085 "mercurial.cffi._bdiff", f.read(), include_dirs=['mercurial']
Augie Fackler
formatting: blacken the codebase...
r43346 )
ffi.cdef(
"""
Yuya Nishihara
cffi: rename build scripts...
r32505 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*);
Augie Fackler
formatting: blacken the codebase...
r43346 """
)
Yuya Nishihara
cffi: rename build scripts...
r32505
if __name__ == '__main__':
ffi.compile()