sapling/eden/scm/lib
generatedunixname89002005287564 8074589d16 Reviewed By: zertosh
Differential Revision: D42955463

fbshipit-source-id: 803f9319b6873da7220af33d5619920b5d1efef0
2023-02-02 04:42:49 -08:00
..
async-runtime Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
atomicfile lib: relicense 11 libraries from GPL2 to MIT (LICENSE) 2022-07-22 13:01:44 -07:00
auth Upgrade indexmap 2023-01-29 11:17:39 -08:00
backingstore config: rename parser to loader 2022-12-14 14:53:51 -08:00
blackbox Update libc to 0.2.137 2022-11-01 02:16:19 -07:00
cats Upgrade indexmap 2023-01-29 11:17:39 -08:00
checkout Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
clidispatch test-debugrevset: fix debugruntest compat 2023-02-01 12:05:24 -08:00
clientinfo update to rust 1.64.0 2022-09-27 15:18:58 -07:00
cliparser py3: remove python3 crate feature 2022-11-14 18:14:03 -08:00
clone fix some more "hg" references 2022-11-14 13:46:05 -08:00
commitcloudsubscriber Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
config Upgrade indexmap 2023-01-29 11:17:39 -08:00
control-point Rerun autocargo 2022-11-29 05:48:56 -08:00
copytrace copytrace: add GitCopyTrace Rust lib 2023-01-27 13:01:54 -08:00
cpython-async Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
cpython-ext cpython-ext: select python3 feature unconditionally 2023-01-23 11:38:41 -08:00
dag Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
debugtop Utc.timestamp(…) -> Utc.timestamp_opt(…).unwrap() 2022-12-20 13:50:25 -08:00
dev-logger third-party/rust: bump tracing-subscriber and tracing-glog 2022-10-14 13:32:47 -07:00
doctor/network update to rust 1.64.0 2022-09-27 15:18:58 -07:00
drawdag simplify checking in range handling 2022-09-27 13:10:15 -07:00
eagerepo Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
edenapi Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
edenfs-client Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
encoding encoding: fix test build on Windows 2022-05-05 17:15:37 -07:00
exchange update to rust 1.64.0 2022-09-27 15:18:58 -07:00
formatter colors: always enable the termwiz sgr compat flag 2022-10-31 08:40:54 -07:00
fsinfo Update libc to 0.2.137 2022-11-01 02:16:19 -07:00
fsyncglob ethers.rs 2022-06-23 20:03:16 -07:00
gitstore status: fix native status for git repos 2023-01-26 09:17:43 -08:00
hg-http config: move to subdirectory 2022-09-01 17:43:38 -07:00
hg-metrics ethers.rs 2022-06-23 20:03:16 -07:00
hgcommands status: enable rust status in test-fb-ext-tweakdefaults.t 2023-01-31 12:25:37 -08:00
hgcommits status: fix native status for git repos 2023-01-26 09:17:43 -08:00
hgtime hgtime: drop use_default_offset 2022-08-19 13:44:37 -07:00
http-client Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
identity paths: use rcutil to edit "[paths]" config 2022-12-21 19:08:24 -08:00
indexedlog indexedlog: add a global config to set checksum chain length 2023-01-26 14:50:21 -08:00
insta_ext update insta to 1.21.1 2022-11-17 08:40:50 -08:00
io lib: vendor streampager 2023-02-01 11:58:45 -08:00
lazystr add lazystr crate for ergonomic String thunks 2022-07-07 15:19:21 -07:00
linelog license: update license headers 2022-03-04 12:55:23 -08:00
lz4-pyframe Bump lz4, lz4-sys 2023-01-12 14:45:41 -08:00
manifest matcher: ManifestMatcher support case insensitive 2022-10-17 11:56:11 -07:00
manifest-tree matcher: ManifestMatcher support case insensitive 2022-10-17 11:56:11 -07:00
metalog indexedlog: move config variables to a module 2023-01-26 14:50:21 -08:00
metrics futures 0.3.21 -> 0.3.24 2022-09-05 13:49:07 -07:00
migration update to rust 1.64.0 2022-09-27 15:18:58 -07:00
mincode Remove ::{self} 2022-07-26 03:11:30 -07:00
minibench lib: relicense 11 libraries from GPL2 to MIT (LICENSE) 2022-07-22 13:01:44 -07:00
minibytes minibytes: make mmap dep optional 2022-11-14 18:00:50 -08:00
mpatch Update libc to 0.2.137 2022-11-01 02:16:19 -07:00
mpatch-sys third-party/rust: update cc 2023-01-27 05:07:50 -08:00
mutationstore dag: move dag/render to a separate crate 2023-01-20 12:42:43 -08:00
nodemap update to rust 1.64.0 2022-09-27 15:18:58 -07:00
nonblocking futures 0.3.21 -> 0.3.24 2022-09-05 13:49:07 -07:00
pathhistory Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
pathmatcher match: add build_patterns util 2022-10-25 15:15:54 -07:00
pprint rust: update serde_json to 1.0.79 and serde to 1.0.136 2022-04-10 23:39:55 -07:00
procinfo third-party/rust: update cc 2023-01-27 05:07:50 -08:00
progress Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
radixbuf update to rust 1.64.0 2022-09-27 15:18:58 -07:00
refencode remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
renderdag renderdag: make serde an optional dependency 2023-01-23 11:38:41 -08:00
repo status: fix native status for git repos 2023-01-26 09:17:43 -08:00
repo_name update to rust 1.64.0 2022-09-27 15:18:58 -07:00
repolock Reviewed By: zertosh 2022-11-11 05:33:18 -08:00
revisionstore Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
revlogindex Update to async-trait 0.1.58 2022-10-19 17:35:20 -07:00
revsets checkout: fallback if Rust commit resolution fails 2022-11-08 15:55:26 -08:00
runlog Update libc to 0.2.137 2022-11-01 02:16:19 -07:00
sparse sparse: ignore directory %includes 2023-02-01 08:13:43 -08:00
spawn-ext Update libc to 0.2.137 2022-11-01 02:16:19 -07:00
status status: fix native status to ignore modified symlinks on Windows 2022-12-16 12:04:26 -08:00
storemodel Update to async-trait 0.1.58 2022-10-19 17:35:20 -07:00
streams Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
third-party Reviewed By: zertosh 2023-02-02 04:42:49 -08:00
thrift-types update to rust 1.64.0 2022-09-27 15:18:58 -07:00
tracing-analyzer Remove unused Rust deps 2022-06-14 09:31:57 -07:00
tracing-collector Upgrade indexmap 2023-01-29 11:17:39 -08:00
tracing-reload third-party/rust: bump tracing-subscriber and tracing-glog 2022-10-14 13:32:47 -07:00
tracing-runtime-callsite update regex to 1.6.0 2022-10-31 21:28:04 -07:00
tracing-sampler third-party/rust: bump tracing-subscriber and tracing-glog 2022-10-14 13:32:47 -07:00
treestate Upgrade uuid to 1.2 2023-01-31 14:55:53 -08:00
types checkout: remove n^2 behavior in pathauditor 2022-10-26 18:17:55 -07:00
util Update libc to 0.2.137 2022-11-01 02:16:19 -07:00
version version: use SAPLING_VERSION as version if provided 2022-11-04 17:50:50 -07:00
vfs Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
vlqencoding Remove ::{self} 2022-07-26 03:11:30 -07:00
workingcopy Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -08:00
xdiff fix clippy lints + add constructor for DiffState 2022-11-23 09:20:23 -08:00
xdiff-sys third-party/rust: update cc 2023-01-27 05:07:50 -08:00
zstdelta Update libc to 0.2.137 2022-11-01 02:16:19 -07:00
zstore Add bundlr-sdk to rust 3p crates 2022-07-22 07:22:52 -07:00
CMakeLists.txt codemod: update license headers 2022-01-05 14:43:32 -08:00
README.md hgext: rename ext to hgext 2022-08-23 15:19:05 -07:00
run_cargo_tests.py tests: run cargo tests with different features 2023-01-23 11:38:41 -08: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 ext/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 ext/extlib (if it's only used by extensions) or mercurial/cext (if it's used by extensions or core).