Skip to main content

Crate mergiraf

Crate mergiraf 

Source
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.