mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 17:27:53 +03:00
Summary: The `Node` type will be used in multiple places. Let's move it to a standalone crate so new libraries depending on it won't need to pull in all of revisionstore's dependencies. Note: I'd also like the `types` create to only define clean types. Given the fact NULL_ID is not a great design in Mercurial (`Option<Node>` is a better choice in Rust), it probably does not belong to the formal Rust `Node` type. This diff is merely about moving things with minimal changes. NULL_ID will be decoupled from `Node` in a follow-up. Reviewed By: markbt Differential Revision: D10132047 fbshipit-source-id: 5d05c5e0ac06a2d58556c4db11775503f9495626 |
||
---|---|---|
.. | ||
cfastmanifest | ||
cstore | ||
ctreemanifest | ||
indexes | ||
phabricator | ||
pyrevisionstore | ||
pywatchman | ||
watchmanclient | ||
__init__.py | ||
cfastmanifest.c | ||
linelog.pyx | ||
litemmap.pyx | ||
mysqlutil.py | ||
README.md | ||
traceprofimpl.cpp |
extlib
Code that extensions depend on, but aren't themselves extensions, should go here. Both native (C/C++/Cython/Rust) and Python code is allowed. Code that depends on Python is also allowed.
In theory, this code should slowly disappear as extension code gets folded into
mainline Mercurial. (The native bits should go into lib/
or mercurial/cext
),
the Python code into mercurial/
itself.)
See also lib/README.md
, mercurial/cext/README.md
.