mirror of
https://github.com/martinvonz/jj.git
synced 2025-01-18 18:27:38 +00:00
repo: make OpHeadsStore accessible directly on ReadonlyRepo
We can now get rid of `MutableView::update_op_heads()`.
This commit is contained in:
parent
212dd35d01
commit
82a3ff6ef8
3 changed files with 10 additions and 8 deletions
|
@ -112,6 +112,7 @@ pub struct ReadonlyRepo {
|
||||||
wc_path: PathBuf,
|
wc_path: PathBuf,
|
||||||
store: Arc<StoreWrapper>,
|
store: Arc<StoreWrapper>,
|
||||||
op_store: Arc<dyn OpStore>,
|
op_store: Arc<dyn OpStore>,
|
||||||
|
op_heads_store: Arc<OpHeadsStore>,
|
||||||
settings: RepoSettings,
|
settings: RepoSettings,
|
||||||
index_store: Arc<IndexStore>,
|
index_store: Arc<IndexStore>,
|
||||||
index: Mutex<Option<Arc<ReadonlyIndex>>>,
|
index: Mutex<Option<Arc<ReadonlyIndex>>>,
|
||||||
|
@ -224,7 +225,7 @@ impl ReadonlyRepo {
|
||||||
let view = ReadonlyView::init(
|
let view = ReadonlyView::init(
|
||||||
store.clone(),
|
store.clone(),
|
||||||
op_store.clone(),
|
op_store.clone(),
|
||||||
op_heads_store,
|
op_heads_store.clone(),
|
||||||
index_store.clone(),
|
index_store.clone(),
|
||||||
init_op_id,
|
init_op_id,
|
||||||
root_view,
|
root_view,
|
||||||
|
@ -235,6 +236,7 @@ impl ReadonlyRepo {
|
||||||
wc_path,
|
wc_path,
|
||||||
store,
|
store,
|
||||||
op_store,
|
op_store,
|
||||||
|
op_heads_store,
|
||||||
settings: repo_settings,
|
settings: repo_settings,
|
||||||
index_store,
|
index_store,
|
||||||
index: Mutex::new(None),
|
index: Mutex::new(None),
|
||||||
|
@ -327,6 +329,10 @@ impl ReadonlyRepo {
|
||||||
&self.op_store
|
&self.op_store
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn op_heads_store(&self) -> &Arc<OpHeadsStore> {
|
||||||
|
&self.op_heads_store
|
||||||
|
}
|
||||||
|
|
||||||
pub fn index_store(&self) -> &Arc<IndexStore> {
|
pub fn index_store(&self) -> &Arc<IndexStore> {
|
||||||
&self.index_store
|
&self.index_store
|
||||||
}
|
}
|
||||||
|
@ -458,6 +464,7 @@ impl RepoLoader {
|
||||||
wc_path: self.wc_path,
|
wc_path: self.wc_path,
|
||||||
store: self.store,
|
store: self.store,
|
||||||
op_store: self.op_store,
|
op_store: self.op_store,
|
||||||
|
op_heads_store: self.op_heads_store,
|
||||||
settings: self.repo_settings,
|
settings: self.repo_settings,
|
||||||
index_store: self.index_store,
|
index_store: self.index_store,
|
||||||
index: Mutex::new(None),
|
index: Mutex::new(None),
|
||||||
|
|
|
@ -130,7 +130,7 @@ impl<'r> Transaction<'r> {
|
||||||
index_store
|
index_store
|
||||||
.associate_file_with_operation(&index, operation.id())
|
.associate_file_with_operation(&index, operation.id())
|
||||||
.unwrap();
|
.unwrap();
|
||||||
mut_view.update_op_heads(&operation);
|
base_repo.op_heads_store().update_op_heads(&operation);
|
||||||
self.closed = true;
|
self.closed = true;
|
||||||
operation
|
operation
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,7 +95,6 @@ pub struct ReadonlyView {
|
||||||
pub struct MutableView {
|
pub struct MutableView {
|
||||||
store: Arc<StoreWrapper>,
|
store: Arc<StoreWrapper>,
|
||||||
op_store: Arc<dyn OpStore>,
|
op_store: Arc<dyn OpStore>,
|
||||||
op_heads_store: Arc<OpHeadsStore>,
|
|
||||||
base_op_id: OperationId,
|
base_op_id: OperationId,
|
||||||
data: op_store::View,
|
data: op_store::View,
|
||||||
}
|
}
|
||||||
|
@ -235,6 +234,7 @@ impl ReadonlyView {
|
||||||
op_heads_store: Arc<OpHeadsStore>,
|
op_heads_store: Arc<OpHeadsStore>,
|
||||||
index_store: Arc<IndexStore>,
|
index_store: Arc<IndexStore>,
|
||||||
) -> Self {
|
) -> Self {
|
||||||
|
// TODO: We should probably move this get_single_op_head() call to ReadonlyRepo.
|
||||||
let (op_id, _operation, view) = op_heads_store
|
let (op_id, _operation, view) = op_heads_store
|
||||||
.get_single_op_head(&store, &op_store, &index_store)
|
.get_single_op_head(&store, &op_store, &index_store)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
@ -285,7 +285,6 @@ impl ReadonlyView {
|
||||||
MutableView {
|
MutableView {
|
||||||
store: self.store.clone(),
|
store: self.store.clone(),
|
||||||
op_store: self.op_store.clone(),
|
op_store: self.op_store.clone(),
|
||||||
op_heads_store: self.op_heads_store.clone(),
|
|
||||||
base_op_id: self.op_id.clone(),
|
base_op_id: self.op_id.clone(),
|
||||||
data: self.data.clone(),
|
data: self.data.clone(),
|
||||||
}
|
}
|
||||||
|
@ -392,8 +391,4 @@ impl MutableView {
|
||||||
let new_op_id = self.op_store.write_operation(&operation).unwrap();
|
let new_op_id = self.op_store.write_operation(&operation).unwrap();
|
||||||
Operation::new(self.op_store.clone(), new_op_id, operation)
|
Operation::new(self.op_store.clone(), new_op_id, operation)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn update_op_heads(&self, op: &Operation) {
|
|
||||||
self.op_heads_store.update_op_heads(op)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue