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
}
}