mirror of
https://github.com/facebook/sapling.git
synced 2024-10-05 14:28:17 +03:00
Add factory builder methods for BonsaiTagMapping
Summary: `BonsaiTagMapping` exists as a facet so let's add the appropriate builder methods in `RepoFactory` and `TestRepoFactory`. Follow-up diffs will add this new facet in the `Repo` facet container for `SCS` (for `remote-gitimport`) and in `gitimport`. Differential Revision: D46020528 fbshipit-source-id: 88e65a498355bf21edc8c8d8aa3755a5507fe991
This commit is contained in:
parent
d3afd74c9a
commit
3c830eaeb0
@ -18,6 +18,7 @@ bonsai_git_mapping = { version = "0.1.0", path = "../bonsai_git_mapping" }
|
||||
bonsai_globalrev_mapping = { version = "0.1.0", path = "../bonsai_globalrev_mapping" }
|
||||
bonsai_hg_mapping = { version = "0.1.0", path = "../bonsai_hg_mapping" }
|
||||
bonsai_svnrev_mapping = { version = "0.1.0", path = "../bonsai_svnrev_mapping" }
|
||||
bonsai_tag_mapping = { version = "0.1.0", path = "../bonsai_tag_mapping" }
|
||||
bookmarks = { version = "0.1.0", path = "../bookmarks" }
|
||||
cacheblob = { version = "0.1.0", path = "../blobstore/cacheblob" }
|
||||
cachelib = { version = "0.1.0", git = "https://github.com/facebookexperimental/rust-shed.git", branch = "main" }
|
||||
|
@ -43,6 +43,8 @@ use bonsai_hg_mapping::SqlBonsaiHgMappingBuilder;
|
||||
use bonsai_svnrev_mapping::ArcBonsaiSvnrevMapping;
|
||||
use bonsai_svnrev_mapping::CachingBonsaiSvnrevMapping;
|
||||
use bonsai_svnrev_mapping::SqlBonsaiSvnrevMappingBuilder;
|
||||
use bonsai_tag_mapping::ArcBonsaiTagMapping;
|
||||
use bonsai_tag_mapping::SqlBonsaiTagMappingBuilder;
|
||||
use bookmarks::bookmark_heads_fetcher;
|
||||
use bookmarks::ArcBookmarkUpdateLog;
|
||||
use bookmarks::ArcBookmarks;
|
||||
@ -565,6 +567,9 @@ pub enum RepoFactoryError {
|
||||
#[error("Error opening bonsai-svnrev mapping")]
|
||||
BonsaiSvnrevMapping,
|
||||
|
||||
#[error("Error opening bonsai-tag mapping")]
|
||||
BonsaiTagMapping,
|
||||
|
||||
#[error("Error opening pushrebase mutation mapping")]
|
||||
PushrebaseMutationMapping,
|
||||
|
||||
@ -816,6 +821,20 @@ impl RepoFactory {
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn bonsai_tag_mapping(
|
||||
&self,
|
||||
repo_config: &ArcRepoConfig,
|
||||
repo_identity: &ArcRepoIdentity,
|
||||
) -> Result<ArcBonsaiTagMapping> {
|
||||
let bonsai_tag_mapping = self
|
||||
.open_sql::<SqlBonsaiTagMappingBuilder>(repo_config)
|
||||
.await
|
||||
.context(RepoFactoryError::BonsaiTagMapping)?
|
||||
.build(repo_identity.id());
|
||||
// Caching is not enabled for now, but can be added later if required.
|
||||
Ok(Arc::new(bonsai_tag_mapping))
|
||||
}
|
||||
|
||||
pub async fn pushrebase_mutation_mapping(
|
||||
&self,
|
||||
repo_config: &ArcRepoConfig,
|
||||
|
@ -17,6 +17,7 @@ bonsai_git_mapping = { version = "0.1.0", path = "../../bonsai_git_mapping" }
|
||||
bonsai_globalrev_mapping = { version = "0.1.0", path = "../../bonsai_globalrev_mapping" }
|
||||
bonsai_hg_mapping = { version = "0.1.0", path = "../../bonsai_hg_mapping" }
|
||||
bonsai_svnrev_mapping = { version = "0.1.0", path = "../../bonsai_svnrev_mapping" }
|
||||
bonsai_tag_mapping = { version = "0.1.0", path = "../../bonsai_tag_mapping" }
|
||||
bookmarks = { version = "0.1.0", path = "../../bookmarks" }
|
||||
cacheblob = { version = "0.1.0", path = "../../blobstore/cacheblob" }
|
||||
changeset_fetcher = { version = "0.1.0", path = "../../blobrepo/changeset_fetcher" }
|
||||
|
@ -24,6 +24,8 @@ use bonsai_hg_mapping::ArcBonsaiHgMapping;
|
||||
use bonsai_hg_mapping::SqlBonsaiHgMappingBuilder;
|
||||
use bonsai_svnrev_mapping::ArcBonsaiSvnrevMapping;
|
||||
use bonsai_svnrev_mapping::SqlBonsaiSvnrevMappingBuilder;
|
||||
use bonsai_tag_mapping::ArcBonsaiTagMapping;
|
||||
use bonsai_tag_mapping::SqlBonsaiTagMappingBuilder;
|
||||
use bookmarks::bookmark_heads_fetcher;
|
||||
use bookmarks::ArcBookmarkUpdateLog;
|
||||
use bookmarks::ArcBookmarks;
|
||||
@ -262,6 +264,7 @@ impl TestRepoFactory {
|
||||
metadata_con.execute_batch(SqlBonsaiGitMappingBuilder::CREATION_QUERY)?;
|
||||
metadata_con.execute_batch(SqlBonsaiGlobalrevMappingBuilder::CREATION_QUERY)?;
|
||||
metadata_con.execute_batch(SqlBonsaiSvnrevMappingBuilder::CREATION_QUERY)?;
|
||||
metadata_con.execute_batch(SqlBonsaiTagMappingBuilder::CREATION_QUERY)?;
|
||||
metadata_con.execute_batch(SqlBonsaiHgMappingBuilder::CREATION_QUERY)?;
|
||||
metadata_con.execute_batch(SqlPhasesBuilder::CREATION_QUERY)?;
|
||||
metadata_con.execute_batch(SqlPushrebaseMutationMappingConnection::CREATION_QUERY)?;
|
||||
@ -483,6 +486,18 @@ impl TestRepoFactory {
|
||||
))
|
||||
}
|
||||
|
||||
/// Construct Bonsai Tag Mapping using the in-memory metadata
|
||||
/// database.
|
||||
pub fn bonsai_tag_mapping(
|
||||
&self,
|
||||
repo_identity: &ArcRepoIdentity,
|
||||
) -> Result<ArcBonsaiTagMapping> {
|
||||
Ok(Arc::new(
|
||||
SqlBonsaiTagMappingBuilder::from_sql_connections(self.metadata_db.clone())
|
||||
.build(repo_identity.id()),
|
||||
))
|
||||
}
|
||||
|
||||
/// Construct Pushrebase Mutation Mapping using the in-memory metadata
|
||||
/// database.
|
||||
pub fn pushrebase_mutation_mapping(
|
||||
|
Loading…
Reference in New Issue
Block a user