comparison mercurial/verify.py @ 6900:def492d1b592

store: change handling of decoding errors
author Matt Mackall <mpm@selenic.com>
date Wed, 13 Aug 2008 20:18:43 -0500
parents dab95717058d
children 90227c42b5f6
comparison
equal deleted inserted replaced
6899:56a7a54e074f 6900:def492d1b592
157 lr = None 157 lr = None
158 err(lr, _("in manifest but not in changeset"), f) 158 err(lr, _("in manifest but not in changeset"), f)
159 159
160 ui.status(_("checking files\n")) 160 ui.status(_("checking files\n"))
161 161
162 storefiles = {} 162 storefiles = {}
163 for f, size in repo.store.datafiles(lambda m: err(None, m)): 163 for f, f2, size in repo.store.datafiles():
164 if size > 0: 164 if not f:
165 err(None, _("cannot decode filename '%s'") % f2)
166 elif size > 0:
165 storefiles[f] = True 167 storefiles[f] = True
166 168
167 files = util.sort(util.unique(filenodes.keys() + filelinkrevs.keys())) 169 files = util.sort(util.unique(filenodes.keys() + filelinkrevs.keys()))
168 for f in files: 170 for f in files:
169 fl = repo.file(f) 171 fl = repo.file(f)
170 172
171 for ff in fl.files(): 173 for ff in fl.files():
172 try: 174 try:
173 del storefiles[ff] 175 del storefiles[ff]
174 except KeyError: 176 except KeyError:
175 err(0, _("missing revlog!"), ff) 177 err(0, _("missing revlog!"), ff)
176 178