Show More
@@ -1040,7 +1040,7 b' class revlog(object):' | |||
|
1040 | 1040 | |
|
1041 | 1041 | def revdiff(self, rev1, rev2): |
|
1042 | 1042 | """return or calculate a delta between two revisions""" |
|
1043 |
if rev1 |
|
|
1043 | if rev1 != nullrev and self.deltaparent(rev2) == rev1: | |
|
1044 | 1044 | return self._chunk(rev2) |
|
1045 | 1045 | |
|
1046 | 1046 | return mdiff.textdiff(self.revision(self.node(rev1)), |
@@ -1048,15 +1048,18 b' class revlog(object):' | |||
|
1048 | 1048 | |
|
1049 | 1049 | def revision(self, node): |
|
1050 | 1050 | """return an uncompressed revision of a given node""" |
|
1051 | cache = nullrev | |
|
1051 | 1052 | if node == nullid: |
|
1052 | 1053 | return "" |
|
1053 |
if self._cache |
|
|
1054 | if self._cache: | |
|
1055 | cache = self._cache[1] | |
|
1056 | if self._cache[0] == node: | |
|
1054 | 1057 | return self._cache[2] |
|
1055 | 1058 | |
|
1056 | 1059 | # look up what we need to read |
|
1057 | 1060 | text = None |
|
1058 | 1061 | rev = self.rev(node) |
|
1059 |
base = self. |
|
|
1062 | cache, base, chain = self.deltachain(rev, cache) | |
|
1060 | 1063 | |
|
1061 | 1064 | # check rev flags |
|
1062 | 1065 | if self.flags(rev) & ~REVIDX_KNOWN_FLAGS: |
@@ -1064,8 +1067,7 b' class revlog(object):' | |||
|
1064 | 1067 | (self.flags(rev) & ~REVIDX_KNOWN_FLAGS)) |
|
1065 | 1068 | |
|
1066 | 1069 | # do we have useful data cached? |
|
1067 |
if |
|
|
1068 | base = self._cache[1] | |
|
1070 | if cache and self._cache: | |
|
1069 | 1071 | text = self._cache[2] |
|
1070 | 1072 | |
|
1071 | 1073 | # drop cache to save memory |
@@ -1076,7 +1078,7 b' class revlog(object):' | |||
|
1076 | 1078 | if text is None: |
|
1077 | 1079 | text = self._chunk(base) |
|
1078 | 1080 | |
|
1079 |
bins = [self._chunk(r) for r in |
|
|
1081 | bins = [self._chunk(r) for r in chain] | |
|
1080 | 1082 | text = mdiff.patches(text, bins) |
|
1081 | 1083 | p1, p2 = self.parents(node) |
|
1082 | 1084 | if (node != hash(text, p1, p2) and |
General Comments 0
You need to be logged in to leave comments.
Login now