changeset 47012 | d55b71393907 |
parent 46819 | d4ba4d51f85f |
child 47128 | bea4717415c0 |
46992:5fa019ceb499 | 47012:d55b71393907 |
---|---|
10 import struct |
10 import struct |
11 |
11 |
12 from .node import ( |
12 from .node import ( |
13 bin, |
13 bin, |
14 hex, |
14 hex, |
15 nullid, |
|
16 nullrev, |
15 nullrev, |
17 ) |
16 ) |
18 from . import ( |
17 from . import ( |
19 encoding, |
18 encoding, |
20 error, |
19 error, |
187 |
186 |
188 def __init__( |
187 def __init__( |
189 self, |
188 self, |
190 repo, |
189 repo, |
191 entries=(), |
190 entries=(), |
192 tipnode=nullid, |
191 tipnode=None, |
193 tiprev=nullrev, |
192 tiprev=nullrev, |
194 filteredhash=None, |
193 filteredhash=None, |
195 closednodes=None, |
194 closednodes=None, |
196 hasnode=None, |
195 hasnode=None, |
197 ): |
196 ): |
198 # type: (localrepo.localrepository, Union[Dict[bytes, List[bytes]], Iterable[Tuple[bytes, List[bytes]]]], bytes, int, Optional[bytes], Optional[Set[bytes]], Optional[Callable[[bytes], bool]]) -> None |
197 # type: (localrepo.localrepository, Union[Dict[bytes, List[bytes]], Iterable[Tuple[bytes, List[bytes]]]], bytes, int, Optional[bytes], Optional[Set[bytes]], Optional[Callable[[bytes], bool]]) -> None |
199 """hasnode is a function which can be used to verify whether changelog |
198 """hasnode is a function which can be used to verify whether changelog |
200 has a given node or not. If it's not provided, we assume that every node |
199 has a given node or not. If it's not provided, we assume that every node |
201 we have exists in changelog""" |
200 we have exists in changelog""" |
202 self._repo = repo |
201 self._repo = repo |
203 self.tipnode = tipnode |
202 if tipnode is None: |
203 self.tipnode = repo.nullid |
|
204 else: |
|
205 self.tipnode = tipnode |
|
204 self.tiprev = tiprev |
206 self.tiprev = tiprev |
205 self.filteredhash = filteredhash |
207 self.filteredhash = filteredhash |
206 # closednodes is a set of nodes that close their branch. If the branch |
208 # closednodes is a set of nodes that close their branch. If the branch |
207 # cache has been updated, it may contain nodes that are no longer |
209 # cache has been updated, it may contain nodes that are no longer |
208 # heads. |
210 # heads. |
534 self.tiprev = ntiprev |
536 self.tiprev = ntiprev |
535 self.tipnode = cl.node(ntiprev) |
537 self.tipnode = cl.node(ntiprev) |
536 |
538 |
537 if not self.validfor(repo): |
539 if not self.validfor(repo): |
538 # cache key are not valid anymore |
540 # cache key are not valid anymore |
539 self.tipnode = nullid |
541 self.tipnode = repo.nullid |
540 self.tiprev = nullrev |
542 self.tiprev = nullrev |
541 for heads in self.iterheads(): |
543 for heads in self.iterheads(): |
542 tiprev = max(cl.rev(node) for node in heads) |
544 tiprev = max(cl.rev(node) for node in heads) |
543 if tiprev > self.tiprev: |
545 if tiprev > self.tiprev: |
544 self.tipnode = cl.node(tiprev) |
546 self.tipnode = cl.node(tiprev) |