sapling/eden/scm/lib
Jun Wu b2534c7d68 dag: update overlay_map_next_id on flush
Summary:
During flush, there could be newly added vertexes in the master group,
overlay_map_next_id needs to be updated accordingly so lazy lookup
can still work. This is especially needed when the non-master group
needs to be re-assigned.

Reviewed By: andll

Differential Revision: D30314051

fbshipit-source-id: cce7080f62aec2617b8f3d7194864df41dfff7e0
2021-08-16 14:24:48 -07:00
..
async-runtime third-party/rust: update Tokio to 1.7.1 2021-06-25 06:17:41 -07:00
auth third-party/rust: update time to 0.2 2021-06-03 13:52:54 -07:00
backingstore Back out "refresh datastore if root tree is not found locally" 2021-08-05 14:08:42 -07:00
blackbox Update several rust crate versions 2021-06-17 16:38:19 -07:00
bookmarkstore eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
checkout checkout: remove unused imports 2021-08-06 08:19:05 -07:00
clidispatch lib: remove most rustc warnings 2021-07-01 18:08:55 -07:00
clientinfo Update several rust crate versions 2021-06-17 16:38:19 -07:00
cliparser third-party/rust: update tokio & tokio-stream 2021-03-10 11:01:28 -08:00
commitcloudsubscriber move to common shared directory 2021-08-10 10:27:16 -07:00
configmodel let client connect to local proxy port 2021-08-04 10:55:02 -07:00
configparser move to common shared directory 2021-08-10 10:27:16 -07:00
cpython-async third-party/rust: update Tokio to 1.7.1 2021-06-25 06:17:41 -07:00
cpython-ext cpython-ext: avoid io::Error::raw_os_error unless kind is None 2021-08-05 16:32:50 -07:00
dag dag: update overlay_map_next_id on flush 2021-08-16 14:24:48 -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
eagerepo Simplify server bonsai changeset upload 2021-08-05 09:29:45 -07:00
edenapi Add validation that only snapshots can contain untracked/missing files 2021-08-16 09:19:06 -07:00
edenfs-client third-party/rust: update time to 0.2 2021-06-03 13:52:54 -07:00
encoding eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
fsinfo lib: remove #![deny(warnings)] 2021-04-21 12:24:47 -07:00
fsyncglob eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
hg-http send additional data identifying client 2021-06-07 06:38:37 -07:00
hg-metrics eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
hgcommands metrics: init metrics render when hg starts 2021-08-10 14:11:22 -07:00
hgcommits Make thrift-generated dyn async traits future compatible 2021-07-29 16:25:33 -07:00
hgtime third-party/rust: update time to 0.2 2021-06-03 13:52:54 -07:00
http-client http-client: add support for Accept-Encoding 2021-08-02 14:38:18 -07:00
indexedlog indexedlog: turn some panic into errors 2021-08-09 13:32:16 -07:00
io Daily common/rust/cargo_from_buck/bin/autocargo 2021-07-20 05:00:14 -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 manifest-tree: implement TryFrom for directly converting from a serialized manifest tree entry to a manifest::List 2021-08-12 19:37:20 -07:00
metalog Update several rust crate versions 2021-06-17 16:38:19 -07:00
metrics metrics: add println renderer 2021-08-10 14:11:23 -07:00
mincode Update several rust crate versions 2021-06-17 16:38:19 -07:00
minibench autocargo v1: changes to match autocargo v2 generation results. 2021-02-19 11:03:55 -08:00
minibytes Update several rust crate versions 2021-06-17 16:38:19 -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: fix tests 2021-06-28 12:21:26 -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 update globset from 0.4.5 to 0.4.7 2021-06-15 15:47:49 -07:00
procinfo eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
progress progress: allow to customize units of time series 2021-08-10 14:11:23 -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 scmstore: add new results adapter to FileStore 2021-08-12 19:37:20 -07:00
revlogindex Make thrift-generated dyn async traits future compatible 2021-07-29 16:25:33 -07:00
spawn-ext eden/scm/lib: autogenerate all Cargo.toml files with autocargo 2021-03-05 04:29:49 -08:00
status status: introduce status crate 2021-04-27 13:33:24 -07:00
streams Make thrift-generated dyn async traits future compatible 2021-07-29 16:25:33 -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 Enable fb dynamicconfig loading inside eden backingstore 2021-07-06 13:53:41 -07:00
thrift-types thrift-types: regenerate code 2021-07-30 09:11:40 -07:00
tracing-analyzer Update several rust crate versions 2021-06-17 16:38:19 -07:00
tracing-collector tracing: fix recording on spans via TracingCollector layer 2021-07-15 21:19:27 -07:00
tracing-runtime-callsite pytracing: expose callsite.is_enabled() 2021-04-21 09:25:49 -07:00
treestate Update itertools 0.8.2 to 0.10.1 2021-06-22 04:09:00 -07:00
types scmstore: implement edenapi file aux data fetching in FileStore 2021-07-13 15:17:31 -07:00
util rust: fix compiler warnings 2021-07-29 10:01:02 -07:00
version configparser: fix non-fb dependencies (#45) 2020-08-26 16:31:00 -07:00
vfs remove use of chashmap 2021-08-03 13:07:17 -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: revert zstd crates 2021-06-11 04:39:54 -07:00
zstore Update several rust crate versions 2021-06-17 16:38:19 -07: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).