sapling/edenscmnative
Xavier Deguillard d0b81200dd revisionstore: remove KeyError
Summary:
Instead of using KeyError to indicate that data isn't found, let's use an
Option. The Option type better encode that data is missing without having to do
a potentially error prone downcast, this may also enable us to set
RUST_BACKTRACE=1 everywhere as we won't except errors to happen often anymore,
previously, Mercurial will slow to a crawl due to the many KeyError being
thrown around.

I initially wanted to keep the change small to help reviews, but that didn't
really work out, as the dependencies on the `DataStore`/`HistoryStore` traits
are all over the place...

Reviewed By: quark-zju

Differential Revision: D17728486

fbshipit-source-id: de89c4fc441fd12ff37cc248e2230e4a1403ce44
2019-10-03 14:38:22 -07:00
..
bindings revisionstore: remove KeyError 2019-10-03 14:38:22 -07:00
__init__.py setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
clindex.pyx setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
linelog.pyx setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
litemmap.pyx setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
patchrmdir.pyx setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00
traceprof.pyx setup: move native extensions to edenscmnative 2019-06-19 17:55:49 -07:00