mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
b82b0daab5
Summary: Previously, the code was focusing on getting the hardest (index) part right, but less about the value part. There is no way to get all values in the linked list, as designed, yet. This diff starts the work. Similar to `KeyOffset::key_and_link_offset`, change the internal API of LinkOffset to return both value and the next link offset. Reviewed By: DurhamG Differential Revision: D7472879 fbshipit-source-id: 4a4512d7c63abbb667146de582e0f8cd04c9c04a |
||
---|---|---|
.. | ||
cdatapack | ||
clib | ||
indexedlog | ||
linelog | ||
minibench | ||
pathencoding | ||
pathmatcher | ||
radixbuf | ||
third-party | ||
vlqencoding | ||
README.md |
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).