use std::path::PathBuf;
pub struct CollapseOptions {
pub allow_copying: bool,
pub extract_archives: bool,
pub use_symlinks: bool,
}
#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
pub struct ConflictsReport {
pub sources: Vec<ConflictSourceEntry>,
}
#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
pub struct ConflictSourceEntry {
pub path: PathBuf,
pub overrides: Vec<PathBuf>,
pub overridden_by: Vec<PathBuf>,
}
#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
pub struct ShadowedReport {
pub sources: Vec<ShadowedSource>,
}
#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
pub struct ShadowedSource {
pub path: PathBuf,
#[cfg_attr(feature = "serialize", serde(skip_serializing_if = "Vec::is_empty"))]
pub shadowed_files: Vec<PathBuf>,
}
#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
pub struct DiffReport {
pub source_a: PathBuf,
pub source_b: PathBuf,
pub higher_priority: PathBuf,
pub shared: Vec<String>,
pub only_in_a: Vec<String>,
pub only_in_b: Vec<String>,
}