sapling/lib
Liubov Dmitrieva 8a024ed563 Scm Daemon: make scm daemon more robust with expiration of tokens
Summary:
Basically if Unauthorized it will try to access the token again and restart all the subscriptions
rather than trying to reconnect with the same token in infinite loop.

We know OAuth tokens have potential to be invalidated.

CAT token (that we are going to support as well) will always be valid for some time - like 1 day, so we need a smooth way to recover from  Unauthorized and issue a fresh token.

Reviewed By: markbt

Differential Revision: D12960843

fbshipit-source-id: 630c446c490b0724df38c61507ee555dc7ed7241
2018-11-09 09:51:26 -08:00
..
argparse codemod: add copyright headers 2018-10-26 15:09:12 -07:00
bookmarkstore codemod: add copyright headers 2018-10-26 15:09:12 -07:00
cdatapack hg: disable check-code tests for C code 2018-06-05 19:21:43 -07:00
clib Started Eden for Windows and integrated hg store with it. 2018-08-21 17:51:26 -07:00
commitcloudsubscriber Scm Daemon: make scm daemon more robust with expiration of tokens 2018-11-09 09:51:26 -08:00
configparser load blobs using hg's rust config and datapack code 2018-10-31 17:58:17 -07:00
encoding encoding: use Cow for returned types that may be references 2018-10-30 04:07:02 -07:00
hg_watchman_client codemod: add copyright headers 2018-10-26 15:09:12 -07:00
hgpython hgpython: rename hgenv to be buildenv 2018-10-12 14:55:09 -07:00
indexedlog indexedlog: make it Send 2018-10-29 21:02:41 -07:00
linelog linelog: update README 2018-11-08 12:34:36 -08:00
lz4-pyframe codemod: add copyright headers 2018-10-26 15:09:12 -07:00
minibench codemod: add copyright headers 2018-10-26 15:09:12 -07:00
mpatch codemod: add copyright headers 2018-10-26 15:09:12 -07:00
mpatch-sys codemod: add copyright headers 2018-10-26 15:09:12 -07:00
pathmatcher codemod: add copyright headers 2018-10-26 15:09:12 -07:00
radixbuf codemod: add copyright headers 2018-10-26 15:09:12 -07:00
revisionstore load blobs using hg's rust config and datapack code 2018-10-31 17:58:17 -07:00
third-party xdiff: backport upstream changes 2018-04-13 21:51:48 -07:00
treestate vlqencoding: don't require Sized for Read or Write traits 2018-10-29 04:10:46 -07:00
types codemod: add copyright headers 2018-10-26 15:09:12 -07:00
vlqencoding vlqencoding: don't require Sized for Read or Write traits 2018-10-29 04:10:46 -07:00
watchman_client codemod: add copyright headers 2018-10-26 15:09:12 -07:00
zstdelta rust: upgrade rust to 1.30.0 and bump zstd-sys version 2018-11-06 18:13:20 -08:00
Cargo.toml packaging: back out D10213071 to fix continuous build 2018-10-08 08:54:08 -07:00
README.md READMEs: tweaks based on feedback 2018-01-12 12:35:52 -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).