Show More
@@ -1408,7 +1408,7 b' class revlog(object):' | |||
|
1408 | 1408 | base = chainbase = curr |
|
1409 | 1409 | chainlen = None |
|
1410 | 1410 | offset = self.end(prev) |
|
1411 | d = None | |
|
1411 | delta = None | |
|
1412 | 1412 | if self._basecache is None: |
|
1413 | 1413 | self._basecache = (prev, self.chainbase(prev)) |
|
1414 | 1414 | basecache = self._basecache |
@@ -1427,41 +1427,41 b' class revlog(object):' | |||
|
1427 | 1427 | if cachedelta and self._generaldelta and self._lazydeltabase: |
|
1428 | 1428 | # Assume what we received from the server is a good choice |
|
1429 | 1429 | # build delta will reuse the cache |
|
1430 | d = builddelta(cachedelta[0]) | |
|
1430 | delta = builddelta(cachedelta[0]) | |
|
1431 | 1431 | elif self._generaldelta: |
|
1432 | 1432 | if p2r != nullrev and self._aggressivemergedeltas: |
|
1433 | d = builddelta(p1r) | |
|
1434 | d2 = builddelta(p2r) | |
|
1435 | p1good = self._isgooddelta(d, textlen) | |
|
1436 | p2good = self._isgooddelta(d2, textlen) | |
|
1433 | delta = builddelta(p1r) | |
|
1434 | delta2 = builddelta(p2r) | |
|
1435 | p1good = self._isgooddelta(delta, textlen) | |
|
1436 | p2good = self._isgooddelta(delta2, textlen) | |
|
1437 | 1437 | if p1good and p2good: |
|
1438 | 1438 | # If both are good deltas, choose the smallest |
|
1439 | if d2[1] < d[1]: | |
|
1440 | d = d2 | |
|
1439 | if delta2[1] < delta[1]: | |
|
1440 | delta = delta2 | |
|
1441 | 1441 | elif p2good: |
|
1442 | 1442 | # If only p2 is good, use it |
|
1443 | d = d2 | |
|
1443 | delta = delta2 | |
|
1444 | 1444 | elif p1good: |
|
1445 | 1445 | pass |
|
1446 | 1446 | else: |
|
1447 | 1447 | # Neither is good, try against prev to hopefully save us |
|
1448 | 1448 | # a fulltext. |
|
1449 | d = builddelta(prev) | |
|
1449 | delta = builddelta(prev) | |
|
1450 | 1450 | else: |
|
1451 | 1451 | # Pick whichever parent is closer to us (to minimize the |
|
1452 | 1452 | # chance of having to build a fulltext). Since |
|
1453 | 1453 | # nullrev == -1, any non-merge commit will always pick p1r. |
|
1454 | 1454 | drev = p2r if p2r > p1r else p1r |
|
1455 | d = builddelta(drev) | |
|
1455 | delta = builddelta(drev) | |
|
1456 | 1456 | # If the chosen delta will result in us making a full text, |
|
1457 | 1457 | # give it one last try against prev. |
|
1458 | if drev != prev and not self._isgooddelta(d, textlen): | |
|
1459 | d = builddelta(prev) | |
|
1458 | if drev != prev and not self._isgooddelta(delta, textlen): | |
|
1459 | delta = builddelta(prev) | |
|
1460 | 1460 | else: |
|
1461 | d = builddelta(prev) | |
|
1462 | dist, l, data, base, chainbase, chainlen, compresseddeltalen = d | |
|
1461 | delta = builddelta(prev) | |
|
1462 | dist, l, data, base, chainbase, chainlen, compresseddeltalen = delta | |
|
1463 | 1463 | |
|
1464 | if not self._isgooddelta(d, textlen): | |
|
1464 | if not self._isgooddelta(delta, textlen): | |
|
1465 | 1465 | text = buildtext() |
|
1466 | 1466 | data = self.compress(text) |
|
1467 | 1467 | l = len(data[1]) + len(data[0]) |
General Comments 0
You need to be logged in to leave comments.
Login now