Mercurial > hg
view mercurial/bdiff.h @ 48722:92b5a2c4d637
revlog: split revlog v1 and revlog v2 handling
Explicitly splitting their fields packing and unpacking makes it easier to
extend the existing C implemenation to handle the new changelog format, whose
fields and offsets are not simply a superset of the revlog.
Differential Revision: https://phab.mercurial-scm.org/D12137
author | pacien <pacien.trangirard@pacien.net> |
---|---|
date | Wed, 26 Jan 2022 13:18:48 +0100 |
parents | d86908050375 |
children |
line wrap: on
line source
#ifndef HG_BDIFF_H #define HG_BDIFF_H #include "compat.h" 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); #endif