##// END OF EJS Templates
revlog: use existing file handle when reading during _addrevision...
Gregory Szorc -
r26379:39d64325 default
parent child Browse files
Show More
@@ -1289,10 +1289,6 b' class revlog(object):'
1289 def buildtext():
1289 def buildtext():
1290 if btext[0] is not None:
1290 if btext[0] is not None:
1291 return btext[0]
1291 return btext[0]
1292 # flush any pending writes here so we can read it in revision
1293 if dfh:
1294 dfh.flush()
1295 ifh.flush()
1296 baserev = cachedelta[0]
1292 baserev = cachedelta[0]
1297 delta = cachedelta[1]
1293 delta = cachedelta[1]
1298 # special case deltas which replace entire base; no need to decode
1294 # special case deltas which replace entire base; no need to decode
@@ -1303,7 +1299,11 b' class revlog(object):'
1303 len(delta) - hlen):
1299 len(delta) - hlen):
1304 btext[0] = delta[hlen:]
1300 btext[0] = delta[hlen:]
1305 else:
1301 else:
1306 basetext = self.revision(self.node(baserev))
1302 if self._inline:
1303 fh = ifh
1304 else:
1305 fh = dfh
1306 basetext = self.revision(self.node(baserev), _df=fh)
1307 btext[0] = mdiff.patch(basetext, delta)
1307 btext[0] = mdiff.patch(basetext, delta)
1308 try:
1308 try:
1309 self.checkhash(btext[0], p1, p2, node)
1309 self.checkhash(btext[0], p1, p2, node)
@@ -1327,7 +1327,11 b' class revlog(object):'
1327 header = mdiff.replacediffheader(self.rawsize(rev), len(t))
1327 header = mdiff.replacediffheader(self.rawsize(rev), len(t))
1328 delta = header + t
1328 delta = header + t
1329 else:
1329 else:
1330 ptext = self.revision(self.node(rev))
1330 if self._inline:
1331 fh = ifh
1332 else:
1333 fh = dfh
1334 ptext = self.revision(self.node(rev), _df=fh)
1331 delta = mdiff.textdiff(ptext, t)
1335 delta = mdiff.textdiff(ptext, t)
1332 data = self.compress(delta)
1336 data = self.compress(delta)
1333 l = len(data[1]) + len(data[0])
1337 l = len(data[1]) + len(data[0])
General Comments 0
You need to be logged in to leave comments. Login now