Expand description
Syntax aware merging of diverging files
§Overview
Mergiraf is a structured merge tool. It takes three versions of a file (base, left and right) and produces a fourth version where the changes from base to left and from base to right are added. It does so with awareness of the syntax of the files, unlike Git’s built-in line-based merge algorithm.
It is primarily designed to be used as a CLI which implements Git merge driver. This means that it can replace Git’s default merge algorithm when merging or rebasing branches.
§Using as a library to build other programs
Mergiraf is not designed to be used as a library so far, the Rust API is therefore not meant to be stable.
Re-exports§
pub use merge::line_merge_and_structured_resolution;
Modules§
- ast
- attempts
- bug_
reporter - git
- lang_
profile - line_
based - merge
- Implementation of
mergiraf merge - newline
- settings
- solve
- Implementation of
mergiraf solve - supported_
langs - utils
Constants§
- ENABLING_
ENV_ VAR - Current way to disable Mergiraf
- EXIT_
MERGE_ HAS_ CONFLICTS - EXIT_
SOLVE_ FAILED - EXIT_
SOLVE_ HAS_ CONFLICTS - EXIT_
SUCCESS
Functions§
- languages
- The implementation of
mergiraf languages.