sapling/eden/scm/lib
Jun Wu c85c750baa dag: add a remote protocol field to NameDag
Summary:
Makes NameDag own the state (logic) about how to send remote requests.
So NameDag can send requests on its own.

Reviewed By: sfilipco

Differential Revision: D27339282

fbshipit-source-id: 3cb6327dfeaefae45d4e7b88a3535463a84b195b
2021-04-05 12:48:34 -07:00
..
async-runtime update tokio to 1.4.0 2021-03-31 10:44:20 -07:00
auth autocargo v1: changes to match autocargo v2 generation results. 2021-02-19 11:03:55 -08: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: check HgId during resumable checkout 2021-04-02 12:58:35 -07:00
clib Apply clang-format update fixes 2021-01-10 10:06:29 -08: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
configparser rust: update zstd crates to zstd 1.4.8 2021-04-01 06:20:12 -07:00
cpython-async update tokio to 1.4.0 2021-03-31 10:44:20 -07:00
cpython-ext eden/scm/lib: default to python3-sys 2021-03-23 01:13:08 -07:00
dag dag: add a remote protocol field to NameDag 2021-04-05 12:48:34 -07:00
dev-logger eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
drawdag autocargo v1: changes to match autocargo v2 generation results. 2021-02-19 11:03:55 -08:00
edenapi update tokio to 1.4.0 2021-03-31 10:44:20 -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 hg-http: add support for --insecure flag 2021-03-31 12:53:46 -07:00
hg-metrics eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
hgcommands rust: update zstd crates to zstd 1.4.8 2021-04-01 06:20:12 -07:00
hgcommits streams: increase commit text batch size to 10k 2021-03-12 11:39:09 -08:00
hgtime eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
http-client update tokio to 1.4.0 2021-03-31 10:44:20 -07:00
indexedlog indexedlog: add a way to set fsync globally 2021-03-30 09:56:46 -07:00
io pysptui: a tui using streampager 2021-03-31 07:59:26 -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 eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08: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: into_vec cannot use fast path if the vec is sliced 2021-03-10 17:16:53 -08: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 eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08: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 rust: update zstd crates to zstd 1.4.8 2021-04-01 06:20:12 -07:00
revlogindex vfs: introduce AsyncVfs 2021-03-05 21:47:51 -08:00
spawn-ext eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
streams update tokio to 1.4.0 2021-03-31 10:44:20 -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 mman-win32: remove 2020-10-02 10:47:24 -07:00
thrift-types thrift/rust: pass service_name and fn_name to call() on clients 2021-03-18 10:19:40 -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 fix rust warnings 2021-03-22 11:47:55 -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 types: update HgId to use "bytes" serialization by default 2021-02-24 09:20:35 -08: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 update tokio to 1.4.0 2021-03-31 10:44:20 -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).