mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 08:47:12 +03:00
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:
parent
7ae097e8da
commit
cb16831e6d
@ -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)]
|
||||
|
Loading…
Reference in New Issue
Block a user