sapling/eden/scm/lib
Thomas Orozco 3493466385 thrift/compiler: annotate Rust doctests as just text
Summary:
This isn't code that compiles, but the convention in Rust is that code actually
is doctests unless annotated otherwise, so if tested with Cargo, those fail.

This fixes that.

Reviewed By: farnz

Differential Revision: D24917364

fbshipit-source-id: 62fe11700ce561c13dc5498e01d15894b17b5b22
2020-11-12 06:01:47 -08:00
..
async-runtime async-runtime: support multi-thread block_on_future 2020-09-30 20:31:34 -07:00
auth auth: allow specifying a CA certificate bundle 2020-07-16 19:48:36 -07:00
backingstore memcache: add progress bar to Rust memcachestore 2020-10-02 15:03:17 -07:00
blackbox Prepare for rustfmt 2.0 2020-09-07 20:47:59 -07:00
bookmarkstore types: address clippy warnings 2020-03-16 14:58:21 -07:00
clib build: remove portability headers 2020-10-02 10:47:24 -07:00
clidispatch Prepare for rustfmt 2.0 2020-09-07 20:47:59 -07:00
cliparser debug: introduce error classification and metadata propagation 2020-07-15 10:03:10 -07:00
commitcloudsubscriber remove old subscription 2020-11-11 05:17:47 -08:00
configparser continue: pass --noninteractive to continued command 2020-10-16 18:40:51 -07:00
cpython-async cpython-async: drop py_stream_class macro 2020-10-02 21:51:49 -07:00
cpython-ext cpython-ext: add a general From/ToPyObject for serde types 2020-10-06 16:01:23 -07:00
dag dag: update IdDag::universal_id visibility to public 2020-11-10 16:47:23 -08:00
dev-logger dev-logger: a simple library to enable env_logger for testing 2020-03-10 14:16:38 -07:00
drawdag Prepare for rustfmt 2.0 2020-09-07 20:47:59 -07:00
edenapi edenapi: add segmented changelog clone endpoints 2020-11-11 22:53:38 -08:00
edenfs-client fix the Windows build 2020-09-09 10:39:35 -07:00
encoding Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
fsinfo Update formatter to rustfmt 2.0 2020-09-09 07:52:34 -07:00
fsyncglob hgcommands: add debugfsync 2020-08-27 18:26:03 -07:00
hg-http hg-http: remove stats logging 2020-09-24 21:05:20 -07:00
hg-metrics metrics: crate for collecting metrics 2020-09-09 17:35:48 -07:00
hgcommands version: print EdenSCM instead of Mercurial 2020-09-15 21:03:59 -07:00
hgcommits types: add WireCloneData 2020-11-11 22:53:37 -08:00
hgtime hgtime: address clippy warnings 2020-03-16 14:58:22 -07:00
http-client edenapi: return no-op Fetch on empty request 2020-10-05 15:16:33 -07:00
indexedlog revisionstore: fix indexedlog max size limit 2020-10-22 18:21:11 -07:00
linelog Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
lz4-pyframe Update formatter to rustfmt 2.0 2020-09-09 07:52:34 -07:00
manifest manifest: add testutil in core package 2020-01-14 11:49:52 -08:00
manifest-tree Update formatter to rustfmt 2.0 2020-09-09 07:52:34 -07:00
metalog metalog: explicitly use tuple serialization for HgId 2020-09-28 21:32:21 -07:00
mincode Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
minibench mononoke/mercurial: make revlog crate OSS buildable 2020-04-08 09:49:11 -07:00
minibytes minibytes: address clippy warnings 2020-03-16 14:58:22 -07:00
mpatch Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
mpatch-sys use absolute includes for the native cext modules 2020-02-19 13:05:06 -08:00
mutationstore mutationstore: add a native path to calculate 'obsolete()' 2020-08-21 13:00:45 -07:00
nodemap Update formatter to rustfmt 2.0 2020-09-09 07:52:34 -07:00
pathmatcher Prepare for rustfmt 2.0 2020-09-07 20:47:59 -07:00
procinfo procinfo: fix buck build on OSX 2020-11-03 17:40:19 -08:00
progress progress: fix typo in comment 2020-10-05 22:26:16 -07:00
radixbuf radixbuf: use concrete error types 2020-08-06 12:31:57 -07:00
renderdag renderdag: move to dag 2020-08-21 13:00:45 -07:00
revisionstore edenapi: add segmented changelog clone endpoints 2020-11-11 22:53:38 -08:00
revlogindex dag: drop IdMapEq trait 2020-10-20 15:19:30 -07:00
spawn-ext Update formatter to rustfmt 2.0 2020-09-09 07:52:34 -07:00
streams streams: add logic to handle missing items 2020-10-20 15:24:27 -07:00
taggederror taggederror: introduce category and transience metadata and precedence 2020-10-12 17:17:34 -07:00
taggederror-util taggederror: Introduce taggederror-util for more ergonomic error tagging for eden error types. 2020-08-06 19:37:25 -07:00
third-party mman-win32: remove 2020-10-02 10:47:24 -07:00
thrift-types thrift/compiler: annotate Rust doctests as just text 2020-11-12 06:01:47 -08:00
tracing-collector Prepare for rustfmt 2.0 2020-09-07 20:47:59 -07:00
treestate Prepare for rustfmt 2.0 2020-09-07 20:47:59 -07:00
types hgcommits: handle nullid and wdirid in streaming APIs 2020-10-20 15:24:27 -07:00
util Prepare for rustfmt 2.0 2020-09-07 20:47:59 -07:00
version configparser: fix non-fb dependencies (#45) 2020-08-26 16:31:00 -07:00
vfs fsinfo: recognize EdenFS mounts on Windows 2020-08-12 15:47:49 -07:00
vlqencoding mutationstore: move MutationEntry type to types crate 2020-04-23 08:58:10 -07:00
workingcopy filesystem: add treestate walking logic 2020-04-24 13:58:53 -07:00
xdiff Prepare for rustfmt 2.0 2020-09-07 20:47:59 -07:00
xdiff-sys Update libra to latest revision 2020-07-16 21:10:44 -07:00
zstdelta third-party/rust: import async-compression + update zstd 2020-09-15 07:59:53 -07:00
zstore hgcommits: add hybrid backend 2020-10-06 19:13:02 -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).