pub struct SyncReport {
pub handled: usize,
pub diagnostics: Vec<RemoteMappingDiagnostic>,
pub skipped: usize,
/* private fields */
}Expand description
What one export or import run did, and what it could not do.
Returned rather than only written to the caller’s Write, so a caller can
surface the diagnostics without scraping its own output — and so the count and
the diagnostics cannot disagree. Both entry points had Result<usize>; a count
alone cannot express “three issues synced, one relationship could not be”.
Fields§
§handled: usizeIssues created, updated, or overwritten.
diagnostics: Vec<RemoteMappingDiagnostic>Local data the remote could not represent — relationships, parent references, health values, project associations, and epic references — in encounter order.
skipped: usizeItems whose status the transition policy refused (WP07 T031).
Counted separately from handled because an import can do both: an issue
whose title and body imported fine while its status was refused still counts
as handled — the file was written — and also as skipped, because a column did
not move. A single number cannot express that, and the report line it backs
(overwrote … without its status) is the one a user has to be able to find.
Trait Implementations§
Source§impl Clone for SyncReport
impl Clone for SyncReport
Source§impl Debug for SyncReport
impl Debug for SyncReport
Source§impl Default for SyncReport
impl Default for SyncReport
impl Eq for SyncReport
Source§impl PartialEq for SyncReport
impl PartialEq for SyncReport
impl StructuralPartialEq for SyncReport
Auto Trait Implementations§
impl Freeze for SyncReport
impl RefUnwindSafe for SyncReport
impl Send for SyncReport
impl Sync for SyncReport
impl Unpin for SyncReport
impl UnsafeUnpin for SyncReport
impl UnwindSafe for SyncReport
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more