pub struct FileChurn {
pub path: PathBuf,
pub commits: u32,
pub weighted_commits: f64,
pub lines_added: u32,
pub lines_deleted: u32,
pub trend: ChurnTrend,
pub authors: FxHashMap<u32, AuthorContribution>,
}Expand description
Per-file churn data collected from git history.
Fields§
§path: PathBufAbsolute file path.
commits: u32Total number of commits touching this file in the analysis window.
weighted_commits: f64Recency-weighted commit count (exponential decay, half-life 90 days).
lines_added: u32Total lines added across all commits.
lines_deleted: u32Total lines deleted across all commits.
trend: ChurnTrendChurn trend: accelerating, stable, or cooling.
Per-author contributions keyed by interned author index.
Indices reference ChurnResult::author_pool.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FileChurn
impl RefUnwindSafe for FileChurn
impl Send for FileChurn
impl Sync for FileChurn
impl Unpin for FileChurn
impl UnsafeUnpin for FileChurn
impl UnwindSafe for FileChurn
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
Converts
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> ⓘ
Converts
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