mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 00:14:35 +03:00
c097dde0b9
Summary: Based on feedback to D6687860. Test Plan: n/a Reviewers: durham, #mercurial Reviewed By: durham Differential Revision: https://phabricator.intern.facebook.com/D6714211 Signature: 6714211:1515788399:386b8f7330f343349234d1f317e5ac0a594142cf
21 lines
791 B
Markdown
21 lines
791 B
Markdown
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).
|