Mercurial > hg
comparison mercurial/branchmap.py @ 18232:dd0b636b0b65
branchmap: add a copy method
If we want branchcache of different filter to collaborate, they need a simple
way to copy each other. This will ensure that each filtered have no side effect
on other filter level cache.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Wed, 02 Jan 2013 01:40:42 +0100 |
parents | d5655e742457 |
children | a55b06885cda |
comparison
equal
deleted
inserted
replaced
18231:c0c943ef4e55 | 18232:dd0b636b0b65 |
---|---|
115 return ((self.tipnode == repo.changelog.node(self.tiprev)) | 115 return ((self.tipnode == repo.changelog.node(self.tiprev)) |
116 and (self.filteredhash == self._hashfiltered(repo))) | 116 and (self.filteredhash == self._hashfiltered(repo))) |
117 except IndexError: | 117 except IndexError: |
118 return False | 118 return False |
119 | 119 |
120 def copy(self): | |
121 """return an deep copy of the branchcache object""" | |
122 return branchcache(self, self.tipnode, self.tiprev, self.filteredhash) | |
120 | 123 |
121 def write(self, repo): | 124 def write(self, repo): |
122 try: | 125 try: |
123 f = repo.opener(_filename(repo), "w", atomictemp=True) | 126 f = repo.opener(_filename(repo), "w", atomictemp=True) |
124 cachekey = [hex(self.tipnode), str(self.tiprev)] | 127 cachekey = [hex(self.tipnode), str(self.tiprev)] |