diff -r d241e6632669 -r 10e5bb9678f4 hgext/lfs/blobstore.py --- a/hgext/lfs/blobstore.py Fri Apr 13 14:16:30 2018 -0400 +++ b/hgext/lfs/blobstore.py Sun Feb 25 14:07:13 2018 -0500 @@ -152,7 +152,8 @@ realoid = sha256.hexdigest() if realoid != oid: - raise error.Abort(_('corrupt remote lfs object: %s') % oid) + raise LfsCorruptionError(_('corrupt remote lfs object: %s') + % oid) self._linktousercache(oid) @@ -526,8 +527,8 @@ def _verify(oid, content): realoid = hashlib.sha256(content).hexdigest() if realoid != oid: - raise error.Abort(_('detected corrupt lfs object: %s') % oid, - hint=_('run hg verify')) + raise LfsCorruptionError(_('detected corrupt lfs object: %s') % oid, + hint=_('run hg verify')) def remote(repo, remote=None): """remotestore factory. return a store in _storemap depending on config @@ -573,3 +574,8 @@ class LfsRemoteError(error.RevlogError): pass + +class LfsCorruptionError(error.Abort): + """Raised when a corrupt blob is detected, aborting an operation + + It exists to allow specialized handling on the server side."""