mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
fd388aac1a
Summary: Implement a new version of data derivation in the derived data manager. This is different from the old version in a few ways: * `derived_data::BonsaiDerivable` is replaced by `derived_data_manager::BonsaiDerivable`. This trait defines both how to perform derivation and how to store and retrieve mapping values. Derivation is performed with reference to the derived data manager, rather than `BlobRepo`. * The old `Mapping` structs and traits are replaced with a direct implementation in the derived data manager, using the `BonsaiDerivable` trait to handle the derived-data-type-specific parts. * The new implementation assumes we will stick with parallel derivation, and doesn't implement serial derivation. Code is copied from the `derived_data` crate, as it is intended to be a replacement once all the derived data types are migrated, and re-using code would create a circular dependency during migration. This only covers the basic derivation implementation used during production. The derived data manager will also take over backfilling, but that will happen in a later diff. Reviewed By: yancouto Differential Revision: D30805046 fbshipit-source-id: b9660dd957fdf762f621b2cb37fc2eea7bf03074 |
||
---|---|---|
.. | ||
manager | ||
Cargo.toml | ||
context.rs | ||
derivable.rs | ||
error.rs | ||
lease.rs | ||
lib.rs | ||
manager.rs |