Mercurial > public > mercurial-scm > hg
comparison mercurial/branchmap.py @ 20181:b9515fb9e72a
branchmap: add documentation on the branchcache on-disk format
author | Brodie Rao <brodie@sf.io> |
---|---|
date | Fri, 15 Nov 2013 23:18:08 -0500 |
parents | 175c6fd8cacc |
children | 7d4219512823 |
comparison
equal
deleted
inserted
replaced
20180:969148b49fc6 | 20181:b9515fb9e72a |
---|---|
92 partial.write(repo) | 92 partial.write(repo) |
93 assert partial.validfor(repo), filtername | 93 assert partial.validfor(repo), filtername |
94 repo._branchcaches[repo.filtername] = partial | 94 repo._branchcaches[repo.filtername] = partial |
95 | 95 |
96 class branchcache(dict): | 96 class branchcache(dict): |
97 """A dict like object that hold branches heads cache""" | 97 """A dict like object that hold branches heads cache. |
98 | |
99 This cache is used to avoid costly computations to determine all the | |
100 branch heads of a repo. | |
101 | |
102 The cache is serialized on disk in the following format: | |
103 | |
104 <tip hex node> <tip rev number> [optional filtered repo hex hash] | |
105 <branch head hex node> <branch name> | |
106 <branch head hex node> <branch name> | |
107 ... | |
108 | |
109 The first line is used to check if the cache is still valid. If the | |
110 branch cache is for a filtered repo view, an optional third hash is | |
111 included that hashes the hashes of all filtered revisions. | |
112 """ | |
98 | 113 |
99 def __init__(self, entries=(), tipnode=nullid, tiprev=nullrev, | 114 def __init__(self, entries=(), tipnode=nullid, tiprev=nullrev, |
100 filteredhash=None): | 115 filteredhash=None): |
101 super(branchcache, self).__init__(entries) | 116 super(branchcache, self).__init__(entries) |
102 self.tipnode = tipnode | 117 self.tipnode = tipnode |