From 946e94e253523628df5a5460ec84c45154c56676 Mon Sep 17 00:00:00 2001 From: Clement Sam Date: Wed, 12 May 2021 01:59:25 +0000 Subject: [PATCH] Add -y|--yes flag to skip submission prompt Resolves #697 --- commands/mr/merge/mr_merge.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/commands/mr/merge/mr_merge.go b/commands/mr/merge/mr_merge.go index f7b3a168..6c60fa18 100644 --- a/commands/mr/merge/mr_merge.go +++ b/commands/mr/merge/mr_merge.go @@ -32,6 +32,7 @@ type MergeOpts struct { SquashBeforeMerge bool RebaseBeforeMerge bool RemoveSourceBranch bool + SkipPrompts bool SquashMessage string MergeCommitMessage string @@ -89,11 +90,15 @@ func NewCmdMerge(f *cmdutils.Factory) *cobra.Command { return err } - if !cmd.Flags().Changed("when-pipeline-succeeds") && f.IO.IsOutputTTY() && mr.Pipeline != nil { + if !cmd.Flags().Changed("when-pipeline-succeeds") && + f.IO.IsOutputTTY() && + mr.Pipeline != nil && + f.IO.PromptEnabled() && + !opts.SkipPrompts { _ = prompt.Confirm(&opts.MergeWhenPipelineSucceeds, "Merge when pipeline succeeds?", true) } - if f.IO.IsOutputTTY() { + if f.IO.IsOutputTTY() && !opts.SkipPrompts { if !opts.SquashBeforeMerge && !opts.RebaseBeforeMerge && opts.MergeCommitMessage == "" { opts.MergeMethod, err = mergeMethodSurvey() if err != nil { @@ -228,7 +233,8 @@ func NewCmdMerge(f *cmdutils.Factory) *cobra.Command { mrMergeCmd.Flags().StringVarP(&opts.MergeCommitMessage, "message", "m", "", "Custom merge commit message") mrMergeCmd.Flags().StringVarP(&opts.SquashMessage, "squash-message", "", "", "Custom Squash commit message") mrMergeCmd.Flags().BoolVarP(&opts.SquashBeforeMerge, "squash", "s", false, "Squash commits on merge") - mrMergeCmd.Flags().BoolVarP(&opts.RebaseBeforeMerge, "rebase", "r", false, "Rebase the commits onto the base branch\n") + mrMergeCmd.Flags().BoolVarP(&opts.RebaseBeforeMerge, "rebase", "r", false, "Rebase the commits onto the base branch") + mrMergeCmd.Flags().BoolVarP(&opts.SkipPrompts, "yes", "y", false, "Skip submission confirmation prompt") return mrMergeCmd }