Gregory Szorc <gregory.szorc@gmail.com> [Tue, 18 Sep 2018 16:45:13 -0700] rev 39776
error: introduce StorageError
Errors in revlogs are often represented by RevlogError. It's fine
for revlogs to raise a revlog-specific exception. But in the context
of multiple storage backends, it doesn't make sense to be throwing or
catching an exception with "revlog" in its name when revlogs may not
even be in play.
This commit introduces a new generic StorageError type for representing
errors in the storage layer.
RevlogError is an instance of this type.
Interface documentation and tests referencing RevlogError has been
updated to specify StorageError should be used.
.. api::
``error.StorageError`` has been introduced to represent errors in
storage. It should be used in place of ``error.RevlogError`` unless
the error is known to come from a revlog.
Differential Revision: https://phab.mercurial-scm.org/D4654
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 18 Sep 2018 16:28:17 -0700] rev 39775
revlog: drop LookupError alias (API)
This alias is especially bad because it shadows the built-in
LookupError type. This has caused me confusion in the past
when reading revlog code. Qualifying all uses with "error." will
make it obvious that we're using a Mercurial error type.
Differential Revision: https://phab.mercurial-scm.org/D4653
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 18 Sep 2018 16:24:36 -0700] rev 39774
revlog: drop some more error aliases (API)
These should be lightly used and I doubt that will be any
strong objections to removing the aliases.
Note that some uses of ProgrammingError in this file use
translated messages. I'm pretty sure that's a bug. But the
linters don't complain, so meh.
Differential Revision: https://phab.mercurial-scm.org/D4652