mirror of
https://github.com/martinvonz/jj.git
synced 2025-02-06 03:22:59 +00:00
5733e3a442
For support for tree-level conflicts (#1624), I'm probably going to introduce a `MergedTree` type representing a set of trees to merge. That will be similar to `Tree`, but instead of having values of type `TreeValue`, it will have values that can represent a single state or a conflict. The `TreeValue` type itself will eventually lose its `Conflict` variant. To prepare for that, this commit introduces a `Conflict<T>` type. That type is intended to be close to what the future `MergedTree::path_value()`, `MergedTree::entries()`, etc. The next few commits will replace most current uses of `backend::Conflict` by this new `conflicts::Conflict` type. They will use `Option<TreeValue>` as type parameter. Unlike the current `backend::Conflict` type, the explicit tracking of `None` values will let us better preserve the ordering and tying it to the tree-level conflict's order. |
||
---|---|---|
.. | ||
benches | ||
gen-protos | ||
src | ||
tests | ||
testutils | ||
build.rs | ||
Cargo.toml |