sapling/eden/scm/lib
Stefan Filip a2ca6bb7dd manifest-tree: move private test function to lib.rs
Summary:
Moving `store_element` and `get_hgid` from testutil.rs to lib.rs in order to
get rid of some buck build warnings. They are only used in lib.rs.

Reviewed By: markbt

Differential Revision: D19350343

fbshipit-source-id: 081783d753425daaae6fadc38589da5e4e8b745d
2020-01-14 11:49:53 -08:00
..
asyncrevisionstore/src Switch from failure::Fail trait to std::error::Error for errors 2019-11-22 08:53:31 -08:00
auth Switch from failure::Fail trait to std::error::Error for errors 2019-11-22 08:53:31 -08:00
backingstore backingstore: optionally create EdenApiRemoteStore 2019-12-10 13:40:56 -08:00
blackbox blackbox: write less frequently to disk 2019-12-20 16:14:25 -08:00
bookmarkstore Switch from failure::Fail trait to std::error::Error for errors 2019-11-22 08:53:31 -08:00
cdatapack cmake: always build support for the EdenSCM backing store 2019-11-22 13:00:07 -08:00
clib cmake: always build support for the EdenSCM backing store 2019-11-22 13:00:07 -08:00
clidispatch hgcommands: add edenfs status fast path 2020-01-13 14:23:34 -08:00
cliparser cliparser: support shared flag definition 2020-01-13 14:23:33 -08:00
commitcloudsubscriber Switch from failure::Fail trait to std::error::Error for errors 2019-11-22 08:53:31 -08:00
commitstore/bench-serialize Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
configparser Switch from failure::Fail trait to std::error::Error for errors 2019-11-22 08:53:31 -08:00
cpython-ext hgtime: limit year in 1900 to 9999 2019-12-22 11:27:32 -08:00
dag dag: rename slice to VertexName 2020-01-08 21:35:28 -08:00
drawdag Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
edenapi Switch from failure::Fail trait to std::error::Error for errors 2019-11-22 08:53:31 -08:00
edenfs-client edenfs-client: fix warnings 2020-01-13 18:14:46 -08:00
encoding Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
hgcommands edenfs-client: use clidispatch IO and Error types 2020-01-13 14:23:34 -08:00
hgtime hgtime: fix timezone handling converting local date 2020-01-09 11:51:30 -08:00
indexedlog indexedlog: stabilize log::tests::test_repair_and_delete_content 2020-01-09 08:48:47 -08:00
linelog Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
lz4-pyframe Switch from failure::Fail trait to std::error::Error for errors 2019-11-22 08:53:31 -08:00
manifest manifest: add testutil in core package 2020-01-14 11:49:52 -08:00
manifest-tree manifest-tree: move private test function to lib.rs 2020-01-14 11:49:53 -08:00
metalog metalog: implement Repair 2019-12-09 14:15:47 -08:00
mincode Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
minibench Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
mpatch Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
mpatch-sys Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
mutationstore mutationstore: implement indexedlog::DefaultOpenOptions 2019-12-06 19:35:04 -08:00
nodemap nodemap: implement indexedlog::DefaultOpenOptions 2019-12-06 19:35:05 -08:00
pathmatcher pathmatcher: hint globset to use prefix strategy instead of regexp strategy 2019-11-14 14:27:39 -08:00
procinfo Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
radixbuf Switch from failure::Fail trait to std::error::Error for errors 2019-11-22 08:53:31 -08:00
renderdag renderdag: test width correctly matches rendered width 2020-01-13 10:22:43 -08:00
revisionstore revisionstore: make EdenApiRemoteStore to be able to fetch trees from remote 2019-12-10 13:40:55 -08:00
stackdesc Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
third-party Merge fb-mercurial sources into the eden repository 2019-11-13 20:20:32 -08:00
thrift-types edenfs-client: fix warnings 2020-01-13 18:14:46 -08:00
tracing-collector Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
treestate Switch from failure::Fail trait to std::error::Error for errors 2019-11-22 08:53:31 -08:00
types types: add helper method for generating repo paths in testutil 2020-01-10 11:12:41 -08:00
util Switch from failure::Fail trait to std::error::Error for errors 2019-11-22 08:53:31 -08:00
vlqencoding Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
workingcopy workingcopy: add error handling and reporting to rust walker 2020-01-13 15:26:30 -08:00
xdiff move cram from xplat/third-party to third-party 2019-12-20 16:14:17 -08:00
xdiff-sys Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
zstdelta Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
zstore zstore: implement indexedlog::DefaultOpenOptions 2019-12-06 19:35:05 -08:00
CMakeLists.txt cmake: always build support for the EdenSCM backing store 2019-11-22 13:00:07 -08:00
README.md Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -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 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).