pub struct MergeTreesOptions<'a> {
pub ours_label: &'a str,
pub theirs_label: &'a str,
pub ancestor_label: &'a str,
pub favor: MergeFavor,
pub detect_renames: bool,
pub rename_threshold: u8,
pub rename_limit: usize,
pub directory_renames: DirectoryRenames,
pub style: ConflictStyle,
pub ws_ignore: WsIgnore,
}Expand description
Options controlling a merge_trees run.
Fields§
§ours_label: &'a strConflict-marker label for ours (e.g. a branch name or HEAD).
theirs_label: &'a strConflict-marker label for theirs.
ancestor_label: &'a strDiff3 ancestor label (the ||||||| side); merge porcelains use
"merged common ancestors".
favor: MergeFavor-Xours / -Xtheirs favouring for textual conflicts.
detect_renames: boolEnable rename-aware merging: a file renamed on one side and modified on
the other follows the rename. When false, the merge is purely
path-keyed (the historical behaviour).
rename_threshold: u8Minimum similarity (0..=100) for inexact rename detection.
rename_limit: usizeCap on the inexact rename matrix (merge.renameLimit/diff.renameLimit).
0 means unlimited; otherwise inexact detection is skipped when the
candidate source × destination count exceeds rename_limit².
directory_renames: DirectoryRenamesDirectory-rename detection mode. When DirectoryRenames::False, a file
added on one side under a directory that the other side renamed stays
put. When enabled, such files are re-homed into the renamed directory,
matching merge.directoryRenames. Requires detect_renames to have any
effect (directory renames are inferred from the file renames it finds).
style: ConflictStyleConflict-marker style for textual conflicts (merge.conflictStyle).
ws_ignore: WsIgnoreWhitespace-insensitivity for textual 3-way merges, mirroring
-Xignore-space-change/-Xignore-all-space/-Xignore-space-at-eol.