summaryrefslogtreecommitdiff
path: root/git_review/cmd.py
diff options
context:
space:
mode:
Diffstat (limited to 'git_review/cmd.py')
-rw-r--r--git_review/cmd.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/git_review/cmd.py b/git_review/cmd.py
index f3df728..8553158 100644
--- a/git_review/cmd.py
+++ b/git_review/cmd.py
@@ -27,6 +27,7 @@ import shlex
import subprocess
import sys
import textwrap
+from urllib.parse import quote_plus
from urllib.parse import urlencode
from urllib.parse import urljoin
from urllib.parse import urlparse
@@ -1536,14 +1537,18 @@ additional information:
choices=['NONE', 'OWNER', 'OWNER_REVIEWERS', 'ALL'],
help="Control to whom email notifications are sent,"
" defaults to ALL.")
+ parser.add_argument("--message", dest="message",
+ help="Message to add to patch set description")
rebase_group = parser.add_mutually_exclusive_group()
rebase_group.add_argument("-R", "--no-rebase", dest="rebase",
action="store_false",
- help="Don't rebase changes before submitting.")
+ help="Don't test for remote merge conflicts"
+ " before pushing.")
rebase_group.add_argument("-F", "--force-rebase", dest="force_rebase",
action="store_true",
- help="Force rebase even when not needed.")
+ help="Force and push a rebase even when not"
+ " needed.")
track_group = parser.add_mutually_exclusive_group()
track_group.add_argument("--track", dest="track",
@@ -1819,6 +1824,10 @@ additional information:
if options.notify is not None:
push_options.append("notify=%s" % options.notify)
+ if options.message is not None:
+ escaped_message = quote_plus(options.message)
+ push_options.append(f"m={escaped_message}")
+
if push_options:
cmd += "%" + ",".join(push_options)
if options.dry: