mercurial/branchmap.py
changeset 51530 9007387a227c
parent 51529 09782c097035
child 51531 4188a0570ba1
equal deleted inserted replaced
51529:09782c097035 51530:9007387a227c
   579             self._delayed = True
   579             self._delayed = True
   580             return
   580             return
   581         try:
   581         try:
   582             filename = self._filename(repo)
   582             filename = self._filename(repo)
   583             with repo.cachevfs(filename, b"w", atomictemp=True) as f:
   583             with repo.cachevfs(filename, b"w", atomictemp=True) as f:
   584                 cachekey = [hex(self.tipnode), b'%d' % self.tiprev]
   584                 self._write_header(f)
   585                 if self.filteredhash is not None:
       
   586                     cachekey.append(hex(self.filteredhash))
       
   587                 f.write(b" ".join(cachekey) + b'\n')
       
   588                 nodecount = self._write_heads(f)
   585                 nodecount = self._write_heads(f)
   589             repo.ui.log(
   586             repo.ui.log(
   590                 b'branchcache',
   587                 b'branchcache',
   591                 b'wrote %s with %d labels and %d nodes\n',
   588                 b'wrote %s with %d labels and %d nodes\n',
   592                 _branchcachedesc(repo),
   589                 _branchcachedesc(repo),
   598             # Abort may be raised by read only opener, so log and continue
   595             # Abort may be raised by read only opener, so log and continue
   599             repo.ui.debug(
   596             repo.ui.debug(
   600                 b"couldn't write branch cache: %s\n"
   597                 b"couldn't write branch cache: %s\n"
   601                 % stringutil.forcebytestr(inst)
   598                 % stringutil.forcebytestr(inst)
   602             )
   599             )
       
   600 
       
   601     def _write_header(self, fp) -> None:
       
   602         """write the branch cache header to a file"""
       
   603         cachekey = [hex(self.tipnode), b'%d' % self.tiprev]
       
   604         if self.filteredhash is not None:
       
   605             cachekey.append(hex(self.filteredhash))
       
   606         fp.write(b" ".join(cachekey) + b'\n')
   603 
   607 
   604     def _write_heads(self, fp) -> int:
   608     def _write_heads(self, fp) -> int:
   605         """write list of heads to a file
   609         """write list of heads to a file
   606 
   610 
   607         Return the number of heads written."""
   611         Return the number of heads written."""