Skip to content

Commit bdaf957

Browse files
committed
Add a --keep-message option to avoid editing pull request messages.
This is to address issue Mergifyio#108 — it streamlines a bit refreshing an already-created pull request.
1 parent 33aa192 commit bdaf957

File tree

1 file changed

+24
-9
lines changed

1 file changed

+24
-9
lines changed

git_pull_request/__init__.py

+24-9
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,7 @@ def git_pull_request(
301301
target_branch=None,
302302
title=None,
303303
message=None,
304+
keep_message=None,
304305
comment=None,
305306
rebase=True,
306307
download=None,
@@ -395,6 +396,7 @@ def git_pull_request(
395396
user,
396397
title,
397398
message,
399+
keep_message,
398400
comment,
399401
fork,
400402
setup_only,
@@ -445,7 +447,7 @@ def edit_file_get_content_and_remove(filename):
445447
editor = _run_shell_command(["git", "var", "GIT_EDITOR"], output=True)
446448
if not editor:
447449
LOG.warning(
448-
"$EDITOR is unset, you will not be able to edit the " "pull-request message"
450+
"$EDITOR is unset, you will not be able to edit the pull-request message"
449451
)
450452
editor = "cat"
451453
status = os.system(editor + " " + filename)
@@ -502,6 +504,7 @@ def fork_and_push_pull_request(
502504
user,
503505
title,
504506
message,
507+
keep_message,
505508
comment,
506509
fork,
507510
setup_only,
@@ -645,15 +648,19 @@ def fork_and_push_pull_request(
645648
else:
646649
ptitle = title
647650

648-
body = textparse.concat_with_ignore_marker(
649-
message or git_message,
650-
">\n> Current pull request content:\n"
651-
+ pull.title
652-
+ "\n\n"
653-
+ pull.body,
654-
)
651+
if keep_message:
652+
ptitle = pull.title
653+
body = pull.body
654+
else:
655+
body = textparse.concat_with_ignore_marker(
656+
message or git_message,
657+
">\n> Current pull request content:\n"
658+
+ pull.title
659+
+ "\n\n"
660+
+ pull.body,
661+
)
655662

656-
ptitle, body = edit_title_and_message(ptitle, body)
663+
ptitle, body = edit_title_and_message(ptitle, body)
657664

658665
if ptitle is None:
659666
LOG.critical("Pull-request message is empty, aborting")
@@ -794,6 +801,13 @@ def build_parser():
794801
)
795802
parser.add_argument("--title", help="Title of the pull request.")
796803
parser.add_argument("--message", "-m", help="Message of the pull request.")
804+
parser.add_argument(
805+
"--keep-message",
806+
"-k",
807+
action="store_true",
808+
help="Don't open an editor to change the pull request message. "
809+
"Useful when just refreshing an already-open pull request.",
810+
)
797811
parser.add_argument(
798812
"--label",
799813
"-l",
@@ -863,6 +877,7 @@ def main():
863877
target_branch=args.target_branch,
864878
title=args.title,
865879
message=args.message,
880+
keep_message=args.keep_message,
866881
comment=args.comment,
867882
rebase=not args.no_rebase,
868883
download=args.download,

0 commit comments

Comments
 (0)