mirror of
https://github.com/martinvonz/jj.git
synced 2025-02-06 03:22:59 +00:00
merged_tree: extract value() function of non-legacy trees
This commit is contained in:
parent
ca3f549c9e
commit
4ad3db2e84
1 changed files with 12 additions and 11 deletions
|
@ -177,17 +177,7 @@ impl MergedTree {
|
||||||
}
|
}
|
||||||
other => MergedTreeVal::Resolved(other),
|
other => MergedTreeVal::Resolved(other),
|
||||||
},
|
},
|
||||||
MergedTree::Merge(trees) => {
|
MergedTree::Merge(trees) => trees_value(trees, basename),
|
||||||
if let Some(tree) = trees.as_resolved() {
|
|
||||||
return MergedTreeVal::Resolved(tree.value(basename));
|
|
||||||
}
|
|
||||||
let value = trees.map(|tree| tree.value(basename));
|
|
||||||
if let Some(resolved) = value.resolve_trivial() {
|
|
||||||
return MergedTreeVal::Resolved(*resolved);
|
|
||||||
}
|
|
||||||
|
|
||||||
MergedTreeVal::Conflict(value.map(|x| x.cloned()))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -460,6 +450,17 @@ fn merged_tree_basenames<'a>(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn trees_value<'a>(trees: &'a Merge<Tree>, basename: &RepoPathComponent) -> MergedTreeVal<'a> {
|
||||||
|
if let Some(tree) = trees.as_resolved() {
|
||||||
|
return MergedTreeVal::Resolved(tree.value(basename));
|
||||||
|
}
|
||||||
|
let value = trees.map(|tree| tree.value(basename));
|
||||||
|
if let Some(resolved) = value.resolve_trivial() {
|
||||||
|
return MergedTreeVal::Resolved(*resolved);
|
||||||
|
}
|
||||||
|
MergedTreeVal::Conflict(value.map(|x| x.cloned()))
|
||||||
|
}
|
||||||
|
|
||||||
fn merge_trees(merge: &Merge<Tree>) -> Result<Merge<Tree>, TreeMergeError> {
|
fn merge_trees(merge: &Merge<Tree>) -> Result<Merge<Tree>, TreeMergeError> {
|
||||||
if let Some(tree) = merge.resolve_trivial() {
|
if let Some(tree) = merge.resolve_trivial() {
|
||||||
return Ok(Merge::resolved(tree.clone()));
|
return Ok(Merge::resolved(tree.clone()));
|
||||||
|
|
Loading…
Reference in a new issue