sapling/eden/scm
Arun Kulshreshtha 4c174dcda0 http-client: add success and failure event listeners for requests
Summary:
Previously, it was only possible to register event listeners for request completion on the `HttpClient` itself, rather than on individual `Request`s. This diff adds similar event listeners to `Request`s themselves, so that its possible to register a callback to fire when any request completes, regardless of whether it was sent via an `HttpClient` or as a one-off.

This is similar to `RequestCreationEventListeners`, which run for the creation of every request, whether or not the request is associated with a client.

Notably, to avoid circular references the new event listeners take a `RequestInfo` argument instead of a `RequestContext` (since the listeners are themselves stored inside the `RequestContext`). In practice, the `RequestInfo` should contain all of the information one might want to access about the request.

Reviewed By: quark-zju

Differential Revision: D30831840

fbshipit-source-id: 77ca9dc5fd9f8fc5ee60319baabd77171af70d45
2021-09-09 15:16:43 -07:00
..
contrib replace readlink_retry_estale with os.readlink in cli 2021-08-02 15:00:17 -07:00
distutils_rust Use provided env var for CARGO_TARGET_DIR if present 2021-07-22 06:10:56 -07:00
doc py3: fix test-help.t 2020-04-09 18:25:54 -07:00
edenscm verify: verify lazy changelog 2021-09-09 11:05:44 -07:00
edenscmnative doctor: show full content store repair message 2021-09-09 13:24:26 -07:00
exec apfs: retry apfs addVolume 2021-09-02 14:19:17 -07:00
hgcache_size_logger add hgcache size logger 2020-08-26 04:24:50 -07:00
i18n update draft help page 2021-08-02 15:54:03 -07:00
lib http-client: add success and failure event listeners for requests 2021-09-09 15:16:43 -07:00
newdoc notes: add 2019-10 Manifests, Past and Future 2021-03-04 08:52:27 -08:00
pystubs Switch eden to new Pyre backend 2021-07-27 22:39:51 -07:00
slides apply black 20.8b1 formatting update 2020-10-14 20:21:52 -07:00
tests doctor: show full content store repair message 2021-09-09 13:24:26 -07:00
.editorconfig Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
.flake8 debugrebuildchangelog: support rebuild with lazy segmented changelog 2021-05-26 19:00:01 -07:00
.gitignore gitignore: track Makefile under scm 2021-03-04 08:52:27 -08:00
COPYING Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
gen_version.py version: a Rust crate providing version information 2020-05-18 09:00:40 -07:00
hgeditor Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
Makefile py3: remove py3 options and py2 rpm spec 2021-06-15 14:46:42 -07:00
README.rst Move fb-mercurial sources into an eden/scm subdirectory. 2019-11-13 16:04:48 -08:00
setup.py update thrift deps 2021-08-09 11:19:17 -07:00

Mercurial
=========

Mercurial is a fast, easy to use, distributed revision control tool
for software developers.

Basic install::

 $ make            # see install targets
 $ make install    # do a system-wide install
 $ hg debuginstall # sanity-check setup
 $ hg              # see help

Running without installing::

 $ make local      # build for inplace usage
 $ ./hg --version  # should show the latest version

See https://mercurial-scm.org/ for detailed installation
instructions, platform-specific notes, and Mercurial user information.