revisionstore: add add_entry method to HgIdMutableDeltaStore

Summary: Add an `add_entry` convenience method to `HgIdMutableDeltaStore`, similar to the one present in `HgIdMutableHistoryStore`.

Reviewed By: quark-zju

Differential Revision: D22443031

fbshipit-source-id: 84fdaae9fbd51e6f2df466b0441ec5f7ce6715f7
This commit is contained in:
Arun Kulshreshtha 2020-07-09 19:03:57 -07:00 committed by Facebook GitHub Bot
parent 7ae097e8da
commit cb16831e6d

View File

@ -15,6 +15,7 @@ use anyhow::{bail, Result};
use bytes::Bytes;
use serde_derive::{Deserialize, Serialize};
use edenapi_types::DataEntry;
use types::{HgId, Key, RepoPath};
pub use crate::Metadata;
@ -53,6 +54,21 @@ pub trait RemoteDataStore: HgIdDataStore + Send + Sync {
pub trait HgIdMutableDeltaStore: HgIdDataStore + Send + Sync {
fn add(&self, delta: &Delta, metadata: &Metadata) -> Result<()>;
fn flush(&self) -> Result<Option<PathBuf>>;
fn add_entry(&self, entry: &DataEntry) -> Result<()> {
let key = entry.key().clone();
let data = entry.data()?;
let metadata = Metadata {
size: Some(data.len() as u64),
flags: None,
};
let delta = Delta {
data,
base: None,
key,
};
self.add(&delta, &metadata)
}
}
#[derive(Clone, Debug, Eq, PartialEq)]