mercurial/revlog.py
changeset 46506 07984507d553
parent 46469 835aafb2543f
child 46507 9ee4e988e2be
equal deleted inserted replaced
46505:a25033eb43b5 46506:07984507d553
  2143         dfh = None
  2143         dfh = None
  2144         if not self._inline:
  2144         if not self._inline:
  2145             dfh = self._datafp(b"a+")
  2145             dfh = self._datafp(b"a+")
  2146         ifh = self._indexfp(b"a+")
  2146         ifh = self._indexfp(b"a+")
  2147         try:
  2147         try:
  2148             return self._addrevision(
  2148             self._addrevision(
  2149                 node,
  2149                 node,
  2150                 rawtext,
  2150                 rawtext,
  2151                 transaction,
  2151                 transaction,
  2152                 link,
  2152                 link,
  2153                 p1,
  2153                 p1,
  2156                 cachedelta,
  2156                 cachedelta,
  2157                 ifh,
  2157                 ifh,
  2158                 dfh,
  2158                 dfh,
  2159                 deltacomputer=deltacomputer,
  2159                 deltacomputer=deltacomputer,
  2160             )
  2160             )
       
  2161             return node
  2161         finally:
  2162         finally:
  2162             if dfh:
  2163             if dfh:
  2163                 dfh.close()
  2164                 dfh.close()
  2164             ifh.close()
  2165             ifh.close()
  2165 
  2166 
  2327             rawtext = deltacomputer.buildtext(revinfo, fh)
  2328             rawtext = deltacomputer.buildtext(revinfo, fh)
  2328 
  2329 
  2329         if type(rawtext) == bytes:  # only accept immutable objects
  2330         if type(rawtext) == bytes:  # only accept immutable objects
  2330             self._revisioncache = (node, curr, rawtext)
  2331             self._revisioncache = (node, curr, rawtext)
  2331         self._chainbasecache[curr] = deltainfo.chainbase
  2332         self._chainbasecache[curr] = deltainfo.chainbase
  2332         return node
  2333         return curr
  2333 
  2334 
  2334     def _writeentry(self, transaction, ifh, dfh, entry, data, link, offset):
  2335     def _writeentry(self, transaction, ifh, dfh, entry, data, link, offset):
  2335         # Files opened in a+ mode have inconsistent behavior on various
  2336         # Files opened in a+ mode have inconsistent behavior on various
  2336         # platforms. Windows requires that a file positioning call be made
  2337         # platforms. Windows requires that a file positioning call be made
  2337         # when the file handle transitions between reads and writes. See
  2338         # when the file handle transitions between reads and writes. See