equal
deleted
inserted
replaced
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.""" |