sapling/eden/scm/lib
Adam Simpkins ab3a7cb21f Move fb-mercurial sources into an eden/scm subdirectory.
Summary:
In preparation for merging fb-mercurial sources to the Eden repository,
move everything from the top-level directory into an `eden/scm`
subdirectory.
2019-11-13 16:04:48 -08:00
..
asyncrevisionstore/src Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
auth Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
backingstore Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
blackbox Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
bookmarkstore Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
cdatapack Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
clib Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
clidispatch Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
cliparser Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
commitcloudsubscriber Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
commitstore/bench-serialize Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
configparser Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
cpython-ext Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
cpython-failure Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
dag Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
drawdag Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
edenapi Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
encoding Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
hg_watchman_client Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
hgcommands Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
hgtime Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
indexedlog Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
linelog Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
lz4-pyframe Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
manifest Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
metalog Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -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 Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
nodemap Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
pathmatcher Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
procinfo Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
radixbuf Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
revisionstore Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
stackdesc Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
third-party Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
tracing-collector Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
treestate Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
types Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
util Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
vlqencoding Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
watchman_client Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
workingcopy Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
xdiff Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -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 Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
CMakeLists.txt Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -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).