Mercurial > public > mercurial-scm > hg
comparison mercurial/revlogutils/deltas.py @ 51088:a82704902db8
revlog: move the compression/decompression logic on the inner object
This is a necessary step before being able to move more logic around restoring
a revision content there.
For now, we do a simple patch for the perf extension logic, when the
implementation of the inner object changes, we will likely need some evolution
of the API. However this is true of many things in the perf extension. So we
will see this later.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 25 Oct 2023 02:13:18 +0200 |
parents | 5645524c6b62 |
children | da7ecb4deaec |
comparison
equal
deleted
inserted
replaced
51087:de6a8cc24de3 | 51088:a82704902db8 |
---|---|
1203 if revlog.length(base) < lowestrealisticdeltalen: | 1203 if revlog.length(base) < lowestrealisticdeltalen: |
1204 if self._debug_search: | 1204 if self._debug_search: |
1205 msg = b"DBG-DELTAS-SEARCH: DISCARDED (prev size)\n" | 1205 msg = b"DBG-DELTAS-SEARCH: DISCARDED (prev size)\n" |
1206 self._write_debug(msg) | 1206 self._write_debug(msg) |
1207 return None | 1207 return None |
1208 header, data = revlog.compress(delta) | 1208 header, data = revlog._inner.compress(delta) |
1209 deltalen = len(header) + len(data) | 1209 deltalen = len(header) + len(data) |
1210 offset = revlog.end(len(revlog) - 1) | 1210 offset = revlog.end(len(revlog) - 1) |
1211 dist = deltalen + offset - revlog.start(chainbase) | 1211 dist = deltalen + offset - revlog.start(chainbase) |
1212 chainlen, compresseddeltalen = revlog._chaininfo(base) | 1212 chainlen, compresseddeltalen = revlog._chaininfo(base) |
1213 chainlen += 1 | 1213 chainlen += 1 |
1224 snapshotdepth, | 1224 snapshotdepth, |
1225 ) | 1225 ) |
1226 | 1226 |
1227 def _fullsnapshotinfo(self, revinfo, curr): | 1227 def _fullsnapshotinfo(self, revinfo, curr): |
1228 rawtext = self.buildtext(revinfo) | 1228 rawtext = self.buildtext(revinfo) |
1229 data = self.revlog.compress(rawtext) | 1229 data = self.revlog._inner.compress(rawtext) |
1230 compresseddeltalen = deltalen = dist = len(data[1]) + len(data[0]) | 1230 compresseddeltalen = deltalen = dist = len(data[1]) + len(data[0]) |
1231 deltabase = chainbase = curr | 1231 deltabase = chainbase = curr |
1232 snapshotdepth = 0 | 1232 snapshotdepth = 0 |
1233 chainlen = 1 | 1233 chainlen = 1 |
1234 | 1234 |