mercurial/revlog.py
changeset 47166 c9ae2e7fe154
parent 47165 590f2364d33a
child 47167 88bd08a6830f
equal deleted inserted replaced
47165:590f2364d33a 47166:c9ae2e7fe154
  2431         else:
  2431         else:
  2432             transaction.add(self._indexfile, isize)
  2432             transaction.add(self._indexfile, isize)
  2433             transaction.add(self._datafile, end)
  2433             transaction.add(self._datafile, end)
  2434             dfh = self._datafp(b"a+")
  2434             dfh = self._datafp(b"a+")
  2435 
  2435 
  2436         def flush():
       
  2437             if dfh:
       
  2438                 dfh.flush()
       
  2439             ifh.flush()
       
  2440 
       
  2441         self._writinghandles = (ifh, dfh)
  2436         self._writinghandles = (ifh, dfh)
  2442         empty = True
  2437         empty = True
  2443 
  2438 
  2444         try:
  2439         try:
  2445             deltacomputer = deltautil.deltacomputer(self)
  2440             deltacomputer = deltautil.deltacomputer(self)
  2480                     if delta[:hlen] != mdiff.replacediffheader(oldlen, newlen):
  2475                     if delta[:hlen] != mdiff.replacediffheader(oldlen, newlen):
  2481                         raise error.CensoredBaseError(
  2476                         raise error.CensoredBaseError(
  2482                             self.display_id, self.node(baserev)
  2477                             self.display_id, self.node(baserev)
  2483                         )
  2478                         )
  2484 
  2479 
  2485                 if not flags and self._peek_iscensored(baserev, delta, flush):
  2480                 if not flags and self._peek_iscensored(baserev, delta):
  2486                     flags |= REVIDX_ISCENSORED
  2481                     flags |= REVIDX_ISCENSORED
  2487 
  2482 
  2488                 # We assume consumers of addrevisioncb will want to retrieve
  2483                 # We assume consumers of addrevisioncb will want to retrieve
  2489                 # the added revision, which will require a call to
  2484                 # the added revision, which will require a call to
  2490                 # revision(). revision() will fast path if there is a cache
  2485                 # revision(). revision() will fast path if there is a cache
  2532         if not self._censorable:
  2527         if not self._censorable:
  2533             return False
  2528             return False
  2534 
  2529 
  2535         return self.flags(rev) & REVIDX_ISCENSORED
  2530         return self.flags(rev) & REVIDX_ISCENSORED
  2536 
  2531 
  2537     def _peek_iscensored(self, baserev, delta, flush):
  2532     def _peek_iscensored(self, baserev, delta):
  2538         """Quickly check if a delta produces a censored revision."""
  2533         """Quickly check if a delta produces a censored revision."""
  2539         if not self._censorable:
  2534         if not self._censorable:
  2540             return False
  2535             return False
  2541 
  2536 
  2542         return storageutil.deltaiscensored(delta, baserev, self.rawsize)
  2537         return storageutil.deltaiscensored(delta, baserev, self.rawsize)