sapling/hgext/extlib
Jun Wu 7752e9e81f rustlib: move Node to a separate "types" crate
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
2018-10-03 18:19:27 -07:00
..
cfastmanifest hg: disable check-code tests for C code 2018-06-05 19:21:43 -07:00
cstore fix bug in py-cstore code deleting unallocated memory 2018-07-24 09:32:02 -07:00
ctreemanifest treemanifest: change native tree walking to allow depth a parameter 2018-06-27 18:06:13 -07:00
indexes cleanup: remove Cargo.lock from check-in 2018-04-21 03:42:58 -07:00
phabricator Updated parsing logic for .arcrc 2018-08-16 13:50:53 -07:00
pyrevisionstore rustlib: move Node to a separate "types" crate 2018-10-03 18:19:27 -07:00
pywatchman sync with pywatchman upstream 2018-08-23 12:05:29 -07:00
watchmanclient retry watchman commands if we hit a UseAfterFork error 2018-08-23 12:05:29 -07:00
__init__.py codemod: reformat rest of the code 2018-07-05 17:52:43 -07:00
cfastmanifest.c hg: disable check-code tests for C code 2018-06-05 19:21:43 -07:00
linelog.pyx codemod: use byte strings in cython files 2018-07-26 09:53:23 -07:00
litemmap.pyx codemod: use byte strings in cython files 2018-07-26 09:53:23 -07:00
mysqlutil.py mysqlutil: new utility for mysql 2018-07-13 09:36:52 -07:00
README.md READMEs: tweaks based on feedback 2018-01-12 12:35:52 -08:00
traceprofimpl.cpp hg: disable check-code tests for C code 2018-06-05 19:21:43 -07:00

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.