mirror of
https://github.com/facebook/sapling.git
synced 2024-10-16 19:57:18 +03:00
a47bb8c5e1
Summary: Our phases caching wasn't great. If you tried to ask for a draft commit then we'd call mark_reachable_as_public method, bu this method was bypassing caches. The reason why we had this problem was because we had caching on a higher level than necessary - we had SqlPhases struct which was "smarter" (i.e. it has a logic of traversing ancestors of public heads and marking these ancestors and public) and SqlPhasesStore which just did sql access. Previously we had our caching layer on top of SqlPhases, meaning that when SqlPhases calls `mark_reachable_as_public` it can't use caches anymore. This diff fixes it by moving caching one layer lower - now we have a cache right on top of SqlPhasesStore. Because of this change we no longer need CachingPhases, and they were removed. Also `ephemeral_derive` logic was simplified a bit Reviewed By: krallin Differential Revision: D20834740 fbshipit-source-id: 908b7e17d6588ce85771dedf51fcddcd2fabf00e |
||
---|---|---|
.. | ||
lib | ||
benchmark.rs | ||
Cargo.toml |