pub struct ConflictReport {
pub inside: Vec<String>,
pub outside: Vec<String>,
}Expand description
Conflicts in one commit, split by whether the reader’s cone covers them (D50).
The split is the point. inside names paths whose content the reader
may fetch; outside names paths and nothing else – no base,
left or right address, no size, no message. The type is the
enforcement: outside is a list of strings, so there is no field a
later change could accidentally start populating with content.
This is a capability the partial-clone story alone does not have.
Withholding content is ordinary; git does it, and so does every
system with a sparse checkout. What is unusual is being able to say
that a collision happened at a path the reader cannot read, which
choir can do only because the op log is separate from the content it
orders. A reader who never receives docs/guide.md still learns
that their merge collided there, and can go ask the person who owns
it. Elsewhere that collision is simply invisible until someone else
trips over it.
Fields§
§inside: Vec<String>Conflicted paths the cone covers, readable in full.
outside: Vec<String>Conflicted paths the cone does not cover. Paths only.
Implementations§
Trait Implementations§
Source§impl Clone for ConflictReport
impl Clone for ConflictReport
Source§fn clone(&self) -> ConflictReport
fn clone(&self) -> ConflictReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ConflictReport
impl Debug for ConflictReport
Source§impl Default for ConflictReport
impl Default for ConflictReport
Source§fn default() -> ConflictReport
fn default() -> ConflictReport
Source§impl PartialEq for ConflictReport
impl PartialEq for ConflictReport
Source§fn eq(&self, other: &ConflictReport) -> bool
fn eq(&self, other: &ConflictReport) -> bool
self and other values to be equal, and is used by ==.