git_merge_analysis_t

The results of git_merge_analysis indicate the merge opportunities.

Values

ValueMeaning
GIT_MERGE_ANALYSIS_NONE0

No merge is possible. (Unused.)

GIT_MERGE_ANALYSIS_NORMAL1 << 0

A "normal" merge; both HEAD and the given merge input have diverged from their common ancestor. The divergent commits must be merged.

GIT_MERGE_ANALYSIS_UP_TO_DATE1 << 1

All given merge inputs are reachable from HEAD, meaning the repository is up-to-date and no merge needs to be performed.

GIT_MERGE_ANALYSIS_FASTFORWARD1 << 2

The given merge input is a fast-forward from HEAD and no merge needs to be performed. Instead, the client can check out the given merge input.

GIT_MERGE_ANALYSIS_UNBORN1 << 3

The HEAD of the current repository is "unborn" and does not point to a valid commit. No merge can be performed, but the caller may wish to simply set HEAD to the target commit(s).

Meta