sapling/eden/scm/lib
Muir Manders 09b8b590ce indexedlog: remove recursion in MemChecksum::read_from
Summary: Change read_from to use an iterative approach. We hit some stack overflows in production we think were caused by this recursion.

Reviewed By: quark-zju

Differential Revision: D34188307

fbshipit-source-id: d62d559096519b7c8dbce89f07a93fc8cf671595
2022-02-14 10:23:02 -08:00
..
async-runtime remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
atomicfile remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
auth remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
backingstore remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
blackbox remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
cats remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
checkout nativecheckout: don't remove files that didn't exist before 2022-02-11 17:14:45 -08:00
clidispatch remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
clientinfo remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
cliparser remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
commitcloudsubscriber remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
configmodel remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
configparser remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
cpython-async remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
cpython-ext remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
dag dag: add NameSet::to_parents API 2022-02-11 22:50:44 -08:00
debugtop remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
dev-logger remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
drawdag remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
eagerepo remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
edenapi snapshot: remove existing file before writing symlink 2022-02-09 12:32:57 -08:00
edenfs-client remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
encoding remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
fsinfo remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
fsyncglob remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
gitstore remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
hg-http remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
hg-metrics remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
hgcommands remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
hgcommits remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
hgtime remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
http-client remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
indexedlog indexedlog: remove recursion in MemChecksum::read_from 2022-02-14 10:23:02 -08:00
insta_ext remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
io remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
linelog Apply clang-format update fixes 2021-01-10 10:06:29 -08:00
lz4-pyframe remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
manifest remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
manifest-tree remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
metalog remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
metrics remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
mincode remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
minibench remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
minibytes remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
mpatch remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
mpatch-sys remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
mutationstore remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
nodemap remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
nonblocking remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
pathhistory remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
pathmatcher remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
pprint remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
procinfo remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
progress remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
radixbuf remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
refencode remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
renderdag remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
repo init: make directory creation recursive 2022-02-11 11:22:19 -08:00
revisionstore Daily common/rust/cargo_from_buck/bin/autocargo 2022-02-14 02:15:16 -08:00
revlogindex remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
runlog remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
spawn-ext remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
status remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
storemodel remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
streams remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
taggederror remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
taggederror-util remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
third-party remove fbthrift_socket-02 references 2021-11-05 06:30:31 -07:00
thrift-types remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
tracing-analyzer remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
tracing-collector remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
tracing-runtime-callsite remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
tracing-sampler remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
treestate remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
types remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
util remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
version remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
vfs remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
vlqencoding remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
workingcopy remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
xdiff remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
xdiff-sys remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
zstdelta remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
zstore remove generated thrift code and fix external CI (#26) 2022-02-09 12:21:32 -08:00
CMakeLists.txt codemod: update license headers 2022-01-05 14:43:32 -08:00
README.md Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
run_cargo_tests.py codemod: update license headers 2022-01-05 14:43:32 -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).