using System; using System.Collections.Generic; using LibGit2Sharp.Core; namespace LibGit2Sharp { /// /// The results of a merge of two trees. /// public class MergeTreeResult { /// /// Needed for mocking purposes. /// protected MergeTreeResult() { } internal MergeTreeResult(IEnumerable conflicts) { this.Status = MergeTreeStatus.Conflicts; this.Conflicts = conflicts; } internal MergeTreeResult(Tree tree) { this.Status = MergeTreeStatus.Succeeded; this.Tree = tree; this.Conflicts = new List(); } /// /// The status of the merge. /// public virtual MergeTreeStatus Status { get; private set; } /// /// The resulting tree of the merge. /// This will return null if the merge has been unsuccessful due to conflicts. /// public virtual Tree Tree { get; private set; } /// /// The resulting conflicts from the merge. /// This will return null if the merge was successful and there were no conflicts. /// public virtual IEnumerable Conflicts { get; private set; } } /// /// The status of what happened as a result of a merge. /// public enum MergeTreeStatus { /// /// Merge succeeded. /// Succeeded, /// /// Merge resulted in conflicts. /// Conflicts, } }