pub fn merge_changes_only_inert_paths(
repo: &Path,
merge: &str,
) -> Result<bool, String>Expand description
Whether every file this merge changed, against either parent, is
inert by path_is_inert.
A semantic conflict is an interaction between the two branches’ changes, so the population that can possibly hold one is the union of the two parent diffs. A merge whose whole union is documentation cannot fail a build-and-test command in a way the parents pass, so harvesting it buys three builds’ worth of nothing. Skipping it is a population restriction, not an optimization detail: callers record it rather than applying it silently, because it changes which merges the denominator counts.
An empty union — a merged tree identical to both parents — returns
false: it is strange enough to be worth observing rather than assuming
away.
§Errors
The merge cannot be resolved to two parents, or git fails.