sapling/eden/scm/lib
Thomas Orozco cd87d03eb4 revisionstore: remove some downcasting
Summary: We can just return the actual error here now.

Reviewed By: sfilipco

Differential Revision: D27761573

fbshipit-source-id: 0866f976b4ed434deffd96be6820ad05d27b7b93
2021-04-14 09:22:28 -07:00
..
async-runtime update tokio to 1.4.0 2021-03-31 10:44:20 -07:00
auth auth: configparser::ConfigSet -> configmodel::Config 2021-04-12 14:29:45 -07:00
backingstore eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
blackbox eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
bookmarkstore eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
checkout checkout: add test for checking out unknown files 2021-04-13 20:43:40 -07:00
clidispatch clidispatch: add --insecure global flag 2021-03-31 12:53:46 -07:00
cliparser third-party/rust: update tokio & tokio-stream 2021-03-10 11:01:28 -08:00
commitcloudsubscriber eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
configmodel lib: add configmodel 2021-04-12 14:29:45 -07:00
configparser dynamicconfig: add hostcaps for determining Domain 2021-04-13 10:42:45 -07:00
cpython-async update tokio to 1.4.0 2021-03-31 10:44:20 -07:00
cpython-ext io: add ways to test if a stream is a std stream 2021-04-13 13:43:39 -07:00
dag dag: update overlay_map on flush 2021-04-13 17:12:47 -07:00
dev-logger third-party: update tracing-subscriber from 0.2.15 to 0.2.17 2021-04-12 19:24:10 -07:00
drawdag autocargo v1: changes to match autocargo v2 generation results. 2021-02-19 11:03:55 -08:00
edenapi edenapi: configparser::ConfigSet -> configmodel::Config 2021-04-12 14:29:45 -07:00
edenfs-client eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
encoding eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
fsinfo eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
fsyncglob eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
hg-http http-client: add verbose option to requests 2021-04-12 12:17:12 -07:00
hg-metrics eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
hgcommands scmstore: improve debugscmstore command to support fetching arbitrary files / trees 2021-04-13 22:13:03 -07:00
hgcommits smartset: use nameset instead of idset for spans 2021-04-13 16:56:17 -07:00
hgtime eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
hostcaps lib: hoist hostcaps to the top level of the lib directory 2021-04-13 10:42:45 -07:00
http-client http-client: add verbose option to requests 2021-04-12 12:17:12 -07:00
indexedlog indexedlog: add RotateLog::slice_to_bytes 2021-04-13 12:32:25 -07:00
io io: add ways to test if a stream is a std stream 2021-04-13 13:43:39 -07:00
linelog Apply clang-format update fixes 2021-01-10 10:06:29 -08:00
lz4-pyframe autocargo v1: changes to match autocargo v2 generation results. 2021-02-19 11:03:55 -08:00
manifest eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
manifest-tree rust: fix non-literal panic fmt strings 2021-04-09 16:24:33 -07:00
metalog eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
mincode eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
minibench autocargo v1: changes to match autocargo v2 generation results. 2021-02-19 11:03:55 -08:00
minibytes minibytes: Debug format Bytes as a bytestring literal with ascii escapes 2021-04-09 14:43:13 -07:00
mpatch eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
mpatch-sys eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
mutationstore mutationstore: asyncize more places 2021-04-13 16:37:46 -07:00
nodemap eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
nonblocking third-party/rust: update futures 2021-03-04 06:42:55 -08:00
pathmatcher eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
procinfo eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
progress update tokio to 1.4.0 2021-03-31 10:44:20 -07:00
radixbuf eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
renderdag eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
revisionstore revisionstore: remove some downcasting 2021-04-14 09:22:28 -07:00
revlogindex dag: add DagAlgorithm::is_vertex_lazy 2021-04-13 16:37:47 -07:00
spawn-ext eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
streams streams: drop mut from resolve_remote 2021-04-05 12:51:37 -07:00
taggederror eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
taggederror-util eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
third-party lib: remove unused C code 2021-04-08 16:50:13 -07:00
thrift-types &ConstCStr -> ConstCStr 2021-04-12 04:34:09 -07:00
tracing-analyzer autocargo v1: changes to how thrift-related generation is done to match v2 2021-02-23 11:38:45 -08:00
tracing-collector third-party: update tracing-subscriber from 0.2.15 to 0.2.17 2021-04-12 19:24:10 -07:00
tracing-runtime-callsite tracing-runtime-callsite: fix a potential deadlock 2021-03-17 08:30:27 -07:00
treestate eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
types rust: fix non-literal panic fmt strings 2021-04-09 16:24:33 -07:00
util clidispatch: split dispatch() method 2021-03-12 11:39:09 -08:00
version configparser: fix non-fb dependencies (#45) 2020-08-26 16:31:00 -07:00
vfs checkout: introduce CheckoutPlan::check_unknown_files 2021-04-13 11:47:54 -07:00
vlqencoding autocargo v1: changes to match autocargo v2 generation results. 2021-02-19 11:03:55 -08:00
workingcopy eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
xdiff autocargo v2: rollout and replace v1 in all use-cases 2021-03-02 06:43:29 -08:00
xdiff-sys autocargo v2: rollout and replace v1 in all use-cases 2021-03-02 06:43:29 -08:00
zstdelta rust: update zstd crates to zstd 1.4.8 2021-04-01 06:20:12 -07:00
zstore autocargo v1: changes to how thrift-related generation is done to match v2 2021-02-23 11:38:45 -08:00
CMakeLists.txt clib: remove buffer.[ch] 2020-10-02 10:47:23 -07:00
README.md Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
run_cargo_tests.py config: use Rust graph render as default 2020-10-19 17:07:30 -07:00

lib

Any native code (C/C++/Rust) that Mercurial (either core or extensions) depends on should go here. Python code, or native code that depends on Python code (e.g. #include <Python.h> or use cpython) is disallowed.

As we start to convert more of Mercurial into Rust, and write new paths entrirely in native code, we'll want to limit our dependency on Python, which is why this barrier exists.

See also hgext/extlib/README.md, mercurial/cext/README.mb.

How do I choose between lib and extlib (and cext)?

If your code is native and doesn't depend on Python (awesome!), it goes here.

Otherwise, put it in hgext/extlib (if it's only used by extensions) or mercurial/cext (if it's used by extensions or core).