using System; using System.Diagnostics; using System.Globalization; using Octokit.Internal; namespace Octokit { /// /// Used to merge a pull request (Merge Button). /// /// /// https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button /// [DebuggerDisplay("{DebuggerDisplay,nq}")] public class MergePullRequest { /// /// The message that will be used for the merge commit (optional) /// public string CommitMessage { get; set; } /// /// The SHA that pull request head must match to allow merge (optional) /// public string Sha { get; set; } /// /// The Title for the automatic commit message (optional) /// public string CommitTitle { get; set; } /// /// Specify the Merge method to use (optional - default is Merge) /// public PullRequestMergeMethod? MergeMethod { get; set; } internal string DebuggerDisplay { get { return string.Format(CultureInfo.InvariantCulture, "Title: '{0}' Message: '{1}', Sha: '{2}' , MergeMethod: '{3}'", CommitTitle, CommitMessage, Sha, MergeMethod.HasValue ? MergeMethod.Value.ToString() : "null"); } } } /// /// Method to use when merging a PR /// public enum PullRequestMergeMethod { /// /// Create a merge commit /// [Parameter(Value = "merge")] Merge, /// /// Squash and merge /// [Parameter(Value = "squash")] Squash, /// /// Rebase and merge /// [Parameter(Value = "rebase")] Rebase } }