D218: phabricator: add --confirm option to phabsend command
pulkit (Pulkit Goyal)
phabricator at mercurial-scm.org
Wed Aug 2 21:40:44 UTC 2017
pulkit created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
This adds a --confirm flag similar to the confirm flag of `hg email` using which
one can confirm the changesets before they get emailed. The confirm flag will
show the changesets and ask for confirmation before sending them.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D218
AFFECTED FILES
contrib/phabricator.py
CHANGE DETAILS
diff --git a/contrib/phabricator.py b/contrib/phabricator.py
--- a/contrib/phabricator.py
+++ b/contrib/phabricator.py
@@ -313,7 +313,8 @@
@command('phabsend',
[('r', 'rev', [], _('revisions to send'), _('REV')),
- ('', 'reviewer', [], _('specify reviewers'))],
+ ('', 'reviewer', [], _('specify reviewers')),
+ ('', 'confirm', None, _('ask for confirmation before sending'))],
_('REV [OPTIONS]'))
def phabsend(ui, repo, *revs, **opts):
"""upload changesets to Phabricator
@@ -333,6 +334,13 @@
if not revs:
raise error.Abort(_('phabsend requires at least one changeset'))
+ confirm = ui.configbool('phabsend', 'confirm')
+ confirm |= bool(opts.get('confirm'))
+ if confirm:
+ confirmed = _confirmbeforesend(repo, revs)
+ if not confirmed:
+ raise error.Abort(_('phabsend cancelled'))
+
actions = []
reviewers = opts.get('reviewer', [])
if reviewers:
@@ -379,6 +387,20 @@
_metanamemap = util.sortdict([(r'user', 'User'), (r'date', 'Date'),
(r'node', 'Node ID'), (r'parent', 'Parent ')])
+def _confirmbeforesend(repo, revs):
+ ui = repo.ui
+ for rev in revs:
+ ctx = repo[rev]
+ desc = ctx.description().splitlines()[0]
+ ui.write(('%d: ' % rev), label='phabsend.revnumber')
+ ui.write(('%s\n' % desc), label='phabsend.desc')
+
+ if ui.promptchoice(_('Phabsend the above changes (yn)?'
+ '$$ &Yes $$ &No')):
+ return False
+
+ return True
+
def querydrev(repo, params, stack=False):
"""return a list of "Differential Revision" dicts
To: pulkit, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list