sapling/eden/scm/edenscm
Michael Devine 0a46a14017 Repo converter: New class "repomanifest"
Summary:
Right now, all of our manifest parsing and evaluation is in the repo() class, but this is a design mistake. Over a repo's convert lifetime, a single repo will have many different manifests, based on branch, and location in the commit history. What's worse is that the current design makes it hard to build unit tests and new features like include evaluation.

This commit creates a whole new class called repomanifest, that represents a specific manifest (and its included files). It also has unit tests to test the various operations that the manifest performs, such as path and revision mapping. This commit does not modify the existing converter code outside of the class to use this new implementation.

Reviewed By: tchebb

Differential Revision: D19402995

fbshipit-source-id: b97dadcc595c6332f4495460618317194873a780
2020-02-26 17:25:22 -08:00
..
hgdemandimport Upgrade Pyre version for eden to 2927613de6d20ee2d66e98124f3834812475e122 2020-02-19 15:05:25 -08:00
hgext Repo converter: New class "repomanifest" 2020-02-26 17:25:22 -08:00
mercurial sshpeer: always read all stderr messages 2020-02-26 17:08:23 -08:00
__init__.py start adding type annotations for the cext code 2020-02-21 13:54:19 -08:00
__main__.py edenscm: add a main module 2020-01-30 18:09:14 -08:00
traceimport.py pyre: add stub for "bindings" 2020-01-31 13:18:54 -08:00