Show More
@@ -1087,7 +1087,10 b' class deltacomputer:' | |||||
1087 | ): |
|
1087 | ): | |
1088 | self.revlog = revlog |
|
1088 | self.revlog = revlog | |
1089 | self._write_debug = write_debug |
|
1089 | self._write_debug = write_debug | |
1090 | self._debug_search = debug_search |
|
1090 | if write_debug is None: | |
|
1091 | self._debug_search = False | |||
|
1092 | else: | |||
|
1093 | self._debug_search = debug_search | |||
1091 | self._debug_info = debug_info |
|
1094 | self._debug_info = debug_info | |
1092 | self._snapshot_cache = SnapshotCache() |
|
1095 | self._snapshot_cache = SnapshotCache() | |
1093 |
|
1096 | |||
@@ -1140,7 +1143,6 b' class deltacomputer:' | |||||
1140 | def _builddeltainfo(self, revinfo, base, fh, target_rev=None): |
|
1143 | def _builddeltainfo(self, revinfo, base, fh, target_rev=None): | |
1141 | # can we use the cached delta? |
|
1144 | # can we use the cached delta? | |
1142 | revlog = self.revlog |
|
1145 | revlog = self.revlog | |
1143 | debug_search = self._write_debug is not None and self._debug_search |
|
|||
1144 | chainbase = revlog.chainbase(base) |
|
1146 | chainbase = revlog.chainbase(base) | |
1145 | if revlog._generaldelta: |
|
1147 | if revlog._generaldelta: | |
1146 | deltabase = base |
|
1148 | deltabase = base | |
@@ -1177,7 +1179,7 b' class deltacomputer:' | |||||
1177 | delta = revinfo.cachedelta[1] |
|
1179 | delta = revinfo.cachedelta[1] | |
1178 | if delta is None: |
|
1180 | if delta is None: | |
1179 | delta = self._builddeltadiff(base, revinfo, fh) |
|
1181 | delta = self._builddeltadiff(base, revinfo, fh) | |
1180 | if debug_search: |
|
1182 | if self._debug_search: | |
1181 | msg = b"DBG-DELTAS-SEARCH: uncompressed-delta-size=%d\n" |
|
1183 | msg = b"DBG-DELTAS-SEARCH: uncompressed-delta-size=%d\n" | |
1182 | msg %= len(delta) |
|
1184 | msg %= len(delta) | |
1183 | self._write_debug(msg) |
|
1185 | self._write_debug(msg) | |
@@ -1185,17 +1187,17 b' class deltacomputer:' | |||||
1185 | if revlog.upperboundcomp is not None and snapshotdepth: |
|
1187 | if revlog.upperboundcomp is not None and snapshotdepth: | |
1186 | lowestrealisticdeltalen = len(delta) // revlog.upperboundcomp |
|
1188 | lowestrealisticdeltalen = len(delta) // revlog.upperboundcomp | |
1187 | snapshotlimit = revinfo.textlen >> snapshotdepth |
|
1189 | snapshotlimit = revinfo.textlen >> snapshotdepth | |
1188 | if debug_search: |
|
1190 | if self._debug_search: | |
1189 | msg = b"DBG-DELTAS-SEARCH: projected-lower-size=%d\n" |
|
1191 | msg = b"DBG-DELTAS-SEARCH: projected-lower-size=%d\n" | |
1190 | msg %= lowestrealisticdeltalen |
|
1192 | msg %= lowestrealisticdeltalen | |
1191 | self._write_debug(msg) |
|
1193 | self._write_debug(msg) | |
1192 | if snapshotlimit < lowestrealisticdeltalen: |
|
1194 | if snapshotlimit < lowestrealisticdeltalen: | |
1193 | if debug_search: |
|
1195 | if self._debug_search: | |
1194 | msg = b"DBG-DELTAS-SEARCH: DISCARDED (snapshot limit)\n" |
|
1196 | msg = b"DBG-DELTAS-SEARCH: DISCARDED (snapshot limit)\n" | |
1195 | self._write_debug(msg) |
|
1197 | self._write_debug(msg) | |
1196 | return None |
|
1198 | return None | |
1197 | if revlog.length(base) < lowestrealisticdeltalen: |
|
1199 | if revlog.length(base) < lowestrealisticdeltalen: | |
1198 | if debug_search: |
|
1200 | if self._debug_search: | |
1199 | msg = b"DBG-DELTAS-SEARCH: DISCARDED (prev size)\n" |
|
1201 | msg = b"DBG-DELTAS-SEARCH: DISCARDED (prev size)\n" | |
1200 | self._write_debug(msg) |
|
1202 | self._write_debug(msg) | |
1201 | return None |
|
1203 | return None | |
@@ -1269,7 +1271,6 b' class deltacomputer:' | |||||
1269 | if revinfo.flags & REVIDX_RAWTEXT_CHANGING_FLAGS: |
|
1271 | if revinfo.flags & REVIDX_RAWTEXT_CHANGING_FLAGS: | |
1270 | return self._fullsnapshotinfo(fh, revinfo, target_rev) |
|
1272 | return self._fullsnapshotinfo(fh, revinfo, target_rev) | |
1271 |
|
1273 | |||
1272 | debug_search = self._write_debug is not None and self._debug_search |
|
|||
1273 | gather_debug = self._gather_debug |
|
1274 | gather_debug = self._gather_debug | |
1274 |
|
1275 | |||
1275 | if gather_debug: |
|
1276 | if gather_debug: | |
@@ -1298,7 +1299,7 b' class deltacomputer:' | |||||
1298 | p2_chain_len = revlog._chaininfo(p2r)[0] |
|
1299 | p2_chain_len = revlog._chaininfo(p2r)[0] | |
1299 | else: |
|
1300 | else: | |
1300 | p2_chain_len = -1 |
|
1301 | p2_chain_len = -1 | |
1301 | if debug_search: |
|
1302 | if self._debug_search: | |
1302 | msg = b"DBG-DELTAS-SEARCH: SEARCH rev=%d\n" |
|
1303 | msg = b"DBG-DELTAS-SEARCH: SEARCH rev=%d\n" | |
1303 | msg %= target_rev |
|
1304 | msg %= target_rev | |
1304 | self._write_debug(msg) |
|
1305 | self._write_debug(msg) | |
@@ -1316,7 +1317,7 b' class deltacomputer:' | |||||
1316 | candidaterevs = next(groups) |
|
1317 | candidaterevs = next(groups) | |
1317 | while candidaterevs is not None: |
|
1318 | while candidaterevs is not None: | |
1318 | dbg_try_rounds += 1 |
|
1319 | dbg_try_rounds += 1 | |
1319 | if debug_search: |
|
1320 | if self._debug_search: | |
1320 | prev = None |
|
1321 | prev = None | |
1321 | if deltainfo is not None: |
|
1322 | if deltainfo is not None: | |
1322 | prev = deltainfo.base |
|
1323 | prev = deltainfo.base | |
@@ -1340,7 +1341,7 b' class deltacomputer:' | |||||
1340 | self._write_debug(msg) |
|
1341 | self._write_debug(msg) | |
1341 | nominateddeltas = [] |
|
1342 | nominateddeltas = [] | |
1342 | if deltainfo is not None: |
|
1343 | if deltainfo is not None: | |
1343 | if debug_search: |
|
1344 | if self._debug_search: | |
1344 | msg = ( |
|
1345 | msg = ( | |
1345 | b"DBG-DELTAS-SEARCH: CONTENDER: rev=%d - length=%d\n" |
|
1346 | b"DBG-DELTAS-SEARCH: CONTENDER: rev=%d - length=%d\n" | |
1346 | ) |
|
1347 | ) | |
@@ -1350,7 +1351,7 b' class deltacomputer:' | |||||
1350 | # challenge it against refined candidates |
|
1351 | # challenge it against refined candidates | |
1351 | nominateddeltas.append(deltainfo) |
|
1352 | nominateddeltas.append(deltainfo) | |
1352 | for candidaterev in candidaterevs: |
|
1353 | for candidaterev in candidaterevs: | |
1353 | if debug_search: |
|
1354 | if self._debug_search: | |
1354 | msg = b"DBG-DELTAS-SEARCH: CANDIDATE: rev=%d\n" |
|
1355 | msg = b"DBG-DELTAS-SEARCH: CANDIDATE: rev=%d\n" | |
1355 | msg %= candidaterev |
|
1356 | msg %= candidaterev | |
1356 | self._write_debug(msg) |
|
1357 | self._write_debug(msg) | |
@@ -1378,7 +1379,7 b' class deltacomputer:' | |||||
1378 |
|
1379 | |||
1379 | dbg_try_count += 1 |
|
1380 | dbg_try_count += 1 | |
1380 |
|
1381 | |||
1381 | if debug_search: |
|
1382 | if self._debug_search: | |
1382 | delta_start = util.timer() |
|
1383 | delta_start = util.timer() | |
1383 | candidatedelta = self._builddeltainfo( |
|
1384 | candidatedelta = self._builddeltainfo( | |
1384 | revinfo, |
|
1385 | revinfo, | |
@@ -1386,23 +1387,23 b' class deltacomputer:' | |||||
1386 | fh, |
|
1387 | fh, | |
1387 | target_rev=target_rev, |
|
1388 | target_rev=target_rev, | |
1388 | ) |
|
1389 | ) | |
1389 | if debug_search: |
|
1390 | if self._debug_search: | |
1390 | delta_end = util.timer() |
|
1391 | delta_end = util.timer() | |
1391 | msg = b"DBG-DELTAS-SEARCH: delta-search-time=%f\n" |
|
1392 | msg = b"DBG-DELTAS-SEARCH: delta-search-time=%f\n" | |
1392 | msg %= delta_end - delta_start |
|
1393 | msg %= delta_end - delta_start | |
1393 | self._write_debug(msg) |
|
1394 | self._write_debug(msg) | |
1394 | if candidatedelta is not None: |
|
1395 | if candidatedelta is not None: | |
1395 | if is_good_delta_info(self.revlog, candidatedelta, revinfo): |
|
1396 | if is_good_delta_info(self.revlog, candidatedelta, revinfo): | |
1396 | if debug_search: |
|
1397 | if self._debug_search: | |
1397 | msg = b"DBG-DELTAS-SEARCH: DELTA: length=%d (GOOD)\n" |
|
1398 | msg = b"DBG-DELTAS-SEARCH: DELTA: length=%d (GOOD)\n" | |
1398 | msg %= candidatedelta.deltalen |
|
1399 | msg %= candidatedelta.deltalen | |
1399 | self._write_debug(msg) |
|
1400 | self._write_debug(msg) | |
1400 | nominateddeltas.append(candidatedelta) |
|
1401 | nominateddeltas.append(candidatedelta) | |
1401 | elif debug_search: |
|
1402 | elif self._debug_search: | |
1402 | msg = b"DBG-DELTAS-SEARCH: DELTA: length=%d (BAD)\n" |
|
1403 | msg = b"DBG-DELTAS-SEARCH: DELTA: length=%d (BAD)\n" | |
1403 | msg %= candidatedelta.deltalen |
|
1404 | msg %= candidatedelta.deltalen | |
1404 | self._write_debug(msg) |
|
1405 | self._write_debug(msg) | |
1405 | elif debug_search: |
|
1406 | elif self._debug_search: | |
1406 | msg = b"DBG-DELTAS-SEARCH: NO-DELTA\n" |
|
1407 | msg = b"DBG-DELTAS-SEARCH: NO-DELTA\n" | |
1407 | self._write_debug(msg) |
|
1408 | self._write_debug(msg) | |
1408 | if nominateddeltas: |
|
1409 | if nominateddeltas: |
General Comments 0
You need to be logged in to leave comments.
Login now