# HG changeset patch # User Durham Goode # Date 1450485759 28800 # Node ID f4f2179077cbec6908e9f7afc72a947e769185ba # Parent d1b91c10ce70acbecddcce70fc7b607fbf39f2bd verify: move exc() function onto class This is part of an effort to make verify more modular so extensions can hook into it. diff -r d1b91c10ce70 -r f4f2179077cb mercurial/verify.py --- a/mercurial/verify.py Fri Dec 18 16:42:39 2015 -0800 +++ b/mercurial/verify.py Fri Dec 18 16:42:39 2015 -0800 @@ -75,6 +75,14 @@ self.ui.warn(" " + msg + "\n") self.errors[0] += 1 + def exc(self, linkrev, msg, inst, filename=None): + if isinstance(inst, KeyboardInterrupt): + self.ui.warn(_("interrupted")) + raise + if not str(inst): + inst = repr(inst) + self.err(linkrev, "%s: %s" % (msg, inst), filename) + def verify(self): repo = self.repo mflinkrevs = {} @@ -92,16 +100,6 @@ if not repo.url().startswith('file:'): raise error.Abort(_("cannot verify bundle or remote repos")) - - def exc(linkrev, msg, inst, filename=None): - if isinstance(inst, KeyboardInterrupt): - ui.warn(_("interrupted")) - raise - if not str(inst): - inst = repr(inst) - self.err(linkrev, "%s: %s" % (msg, inst), filename) - - def checklog(obj, name, linkrev): if not len(obj) and (havecl or havemf): self.err(linkrev, _("empty or missing %s") % name) @@ -148,7 +146,7 @@ self.err(lr, _("unknown parent 2 %s of %s") % (short(p2), short(node)), f) except Exception as inst: - exc(lr, _("checking parents of %s") % short(node), inst, f) + self.exc(lr, _("checking parents of %s") % short(node), inst, f) if node in seen: self.err(lr, _("duplicate revision %d (%d)") % @@ -186,7 +184,7 @@ filelinkrevs.setdefault(_normpath(f), []).append(i) except Exception as inst: self.refersmf = True - exc(i, _("unpacking changeset %s") % short(n), inst) + self.exc(i, _("unpacking changeset %s") % short(n), inst) ui.progress(_('checking'), None) ui.status(_("checking manifests\n")) @@ -214,7 +212,7 @@ filenodes.setdefault( _normpath(f), {}).setdefault(fn, lr) except Exception as inst: - exc(lr, _("reading manifest delta %s") % short(n), inst) + self.exc(lr, _("reading manifest delta %s") % short(n), inst) ui.progress(_('checking'), None) ui.status(_("crosschecking files in changesets and manifests\n")) @@ -316,7 +314,7 @@ if ui.config("censor", "policy", "abort") == "abort": self.err(lr, _("censored file data"), f) except Exception as inst: - exc(lr, _("unpacking %s") % short(n), inst, f) + self.exc(lr, _("unpacking %s") % short(n), inst, f) # check renames try: @@ -342,7 +340,7 @@ else: fl2.rev(rp[1]) except Exception as inst: - exc(lr, _("checking rename of %s") % short(n), inst, f) + self.exc(lr, _("checking rename of %s") % short(n), inst, f) # cross-check if f in filenodes: