Skip to content

analyzeMergeForRef

Analyzes the given branch(es) and determines the opportunities for merging them into a reference.

Signature

ts
class Repository {
  analyzeMergeForRef(ourRef: Reference, theirHeads: AnnotatedCommit[]): MergeAnalysisResult;
}

Parameters

  • ourRefrequired · Reference

    The reference to perform the analysis from.

  • theirHeadsrequired · AnnotatedCommit[]

    The heads to merge into.

Returns

  • MergeAnalysisResult

    Merge analysis result.

    • analysisrequired · MergeAnalysis
      • fastForwardrequired · boolean

        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.

      • nonerequired · boolean

        No merge is possible.

      • normalrequired · boolean

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

      • unbornrequired · boolean

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

      • upToDaterequired · boolean

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

    • preferencerequired · MergePreference
      • fastForwardOnlyrequired · boolean

        There is a merge.ff=only configuration setting, suggesting that the user only wants fast-forward merges.

      • noFastForwardrequired · boolean

        There is a merge.ff=false configuration setting, suggesting that the user does not want to allow a fast-forward merge.

      • nonerequired · boolean

        No configuration was found that suggests a preferred behavior for merge.

Released under the MIT License.