sapling/eden/scm/edenscm
Meyer Jacobs fb44958218 scmstore: improve debugscmstore command to support fetching arbitrary files / trees
Summary:
Extend debugscmstore command to fetch arbitrary files / trees by key.

Replace debugpyscmstore with a python fallback for debugscmstore (allowing you to test with the store as it is constructed for Python, with legacy fallback).

Refactor some functionality so it is shared between the rust and python versions of debugscmstore.

Currently the output is pretty ugly. It uses the `{:#?}` format for everything. In the next change, I propose modifying the `Debug` implementation for `minibytes::Bytes` to use ascii-escaped bytestrings rather than the default slice formatter to make things much nicer.

This new `debugscmstore` functionality should be useful in integration tests for testing scmstore under different repo configurations, and for test harnesses and performance testing (fetch a specific set of things easily, simulate delays in the key stream by delaying the input pipe, etc).

Reviewed By: andll

Differential Revision: D27351321

fbshipit-source-id: 8650480e3f5b045b279472643570309c48d7fe6b
2021-04-13 22:13:03 -07:00
..
hgdemandimport Back out "log: backout D24293498 about prefetching commit data" 2020-11-06 16:25:00 -08:00
hgext py3: fix tweakdefaults on Windows again 2021-04-13 21:17:35 -07:00
mercurial scmstore: improve debugscmstore command to support fetching arbitrary files / trees 2021-04-13 22:13:03 -07:00
__init__.py apply pyfmt with usort to opted-in sources 2020-11-10 21:25:54 -08:00
__main__.py edenscm: add a main module 2020-01-30 18:09:14 -08:00
hooks.py py3: fix conflictinfo compatibility 2020-09-01 18:31:35 -07:00
traceimport.py debugshell: improve "%trace" UX 2020-09-01 13:49:13 -07:00
tracing.py tracing: add edenscm.tracing Python module mirroring Rust APIs 2021-01-28 13:17:59 -08:00