sapling/eden/scm/lib
Muir Manders 8daadd0716 status: enable rust status in test-fb-ext-tweakdefaults.t
Summary:
This test had a real failure where the new status wasn't respecting HGPLAIN to force root-relative paths in the output. It is safer to keep that behavior since we presume some automation would break if we changed to show cwd-relative paths unconditionally.

To use the native status I had to change this test to use modern repo format. That broke some use of revision numbers, so I tweaked tweakdefaults to respect the devel.default-date option to get stable commit hashes (so I could use those instead of revision numbers).

Reviewed By: quark-zju

Differential Revision: D42748900

fbshipit-source-id: 3358c659d5c67e781723720fcb2f760518d7d46f
2023-01-31 12:25:37 -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 clidispatch: add a config option to set indexedlog checksum length 2023-01-26 14:50:21 -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 fix some more "hg" references 2022-11-14 13:46:05 -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 Update tokio-1.21.2 to tokio-1.25.0 2023-01-30 14:49:36 -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 Daily common/rust/cargo_from_buck/bin/autocargo 2022-04-18 19:06:16 -07: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 treestate: use real threads for check_concurrent_writes 2023-01-19 21:38:51 -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).