equal
deleted
inserted
replaced
334 hlen = struct.calcsize(">lll") |
334 hlen = struct.calcsize(">lll") |
335 if delta[:hlen] == mdiff.replacediffheader(revlog.rawsize(baserev), |
335 if delta[:hlen] == mdiff.replacediffheader(revlog.rawsize(baserev), |
336 len(delta) - hlen): |
336 len(delta) - hlen): |
337 btext[0] = delta[hlen:] |
337 btext[0] = delta[hlen:] |
338 else: |
338 else: |
339 basetext = revlog.revision(baserev, _df=fh, raw=True) |
339 # deltabase is rawtext before changed by flag processors, which is |
|
340 # equivalent to non-raw text |
|
341 basetext = revlog.revision(baserev, _df=fh, raw=False) |
340 btext[0] = mdiff.patch(basetext, delta) |
342 btext[0] = mdiff.patch(basetext, delta) |
341 |
343 |
342 try: |
344 try: |
343 res = revlog._processflags(btext[0], flags, 'read', raw=True) |
345 res = revlog._processflags(btext[0], flags, 'read', raw=True) |
344 btext[0], validatehash = res |
346 btext[0], validatehash = res |
2082 p1r, p2r = self.rev(p1), self.rev(p2) |
2084 p1r, p2r = self.rev(p1), self.rev(p2) |
2083 |
2085 |
2084 # full versions are inserted when the needed deltas |
2086 # full versions are inserted when the needed deltas |
2085 # become comparable to the uncompressed text |
2087 # become comparable to the uncompressed text |
2086 if rawtext is None: |
2088 if rawtext is None: |
2087 textlen = mdiff.patchedsize(self.rawsize(cachedelta[0]), |
2089 # need rawtext size, before changed by flag processors, which is |
|
2090 # the non-raw size. use revlog explicitly to avoid filelog's extra |
|
2091 # logic that might remove metadata size. |
|
2092 textlen = mdiff.patchedsize(revlog.size(self, cachedelta[0]), |
2088 cachedelta[1]) |
2093 cachedelta[1]) |
2089 else: |
2094 else: |
2090 textlen = len(rawtext) |
2095 textlen = len(rawtext) |
2091 |
2096 |
2092 if deltacomputer is None: |
2097 if deltacomputer is None: |