Show More
@@ -15,6 +15,7 b' from .node import (' | |||
|
15 | 15 | ) |
|
16 | 16 | |
|
17 | 17 | from typing import ( |
|
18 | Any, | |
|
18 | 19 | Callable, |
|
19 | 20 | Dict, |
|
20 | 21 | Iterable, |
@@ -473,18 +474,11 b' class branchcache(_BaseBranchCache):' | |||
|
473 | 474 | try: |
|
474 | 475 | f = repo.cachevfs(cls._filename(repo)) |
|
475 | 476 | lineiter = iter(f) |
|
476 | cachekey = next(lineiter).rstrip(b'\n').split(b" ", 2) | |
|
477 | last, lrev = cachekey[:2] | |
|
478 | last, lrev = bin(last), int(lrev) | |
|
479 | filteredhash = None | |
|
480 | if len(cachekey) > 2: | |
|
481 | filteredhash = bin(cachekey[2]) | |
|
477 | init_kwargs = cls._load_header(repo, lineiter) | |
|
482 | 478 | bcache = cls( |
|
483 | 479 | repo, |
|
484 | tipnode=last, | |
|
485 | tiprev=lrev, | |
|
486 | filteredhash=filteredhash, | |
|
487 | 480 | verify_node=True, |
|
481 | **init_kwargs, | |
|
488 | 482 | ) |
|
489 | 483 | if not bcache.validfor(repo): |
|
490 | 484 | # invalidate the cache |
@@ -509,6 +503,24 b' class branchcache(_BaseBranchCache):' | |||
|
509 | 503 | |
|
510 | 504 | return bcache |
|
511 | 505 | |
|
506 | @classmethod | |
|
507 | def _load_header(cls, repo, lineiter) -> "dict[str, Any]": | |
|
508 | """parse the head of a branchmap file | |
|
509 | ||
|
510 | return parameters to pass to a newly created class instance. | |
|
511 | """ | |
|
512 | cachekey = next(lineiter).rstrip(b'\n').split(b" ", 2) | |
|
513 | last, lrev = cachekey[:2] | |
|
514 | last, lrev = bin(last), int(lrev) | |
|
515 | filteredhash = None | |
|
516 | if len(cachekey) > 2: | |
|
517 | filteredhash = bin(cachekey[2]) | |
|
518 | return { | |
|
519 | "tipnode": last, | |
|
520 | "tiprev": lrev, | |
|
521 | "filteredhash": filteredhash, | |
|
522 | } | |
|
523 | ||
|
512 | 524 | def _load_heads(self, repo, lineiter): |
|
513 | 525 | """fully loads the branchcache by reading from the file using the line |
|
514 | 526 | iterator passed""" |
General Comments 0
You need to be logged in to leave comments.
Login now