phabricator: extract logic to print the status when posting a commit
This will make it easier to list each commit when folding. That makes the
output less confusing because it matches the output of `--confirm` and the
revisions listed on the command line.
Differential Revision: https://phab.mercurial-scm.org/D8313
--- a/hgext/phabricator.py Mon Mar 16 14:33:35 2020 -0400
+++ b/hgext/phabricator.py Wed Mar 18 14:53:53 2020 -0400
@@ -1168,6 +1168,26 @@
return [entry[b'phid'] for entry in data]
+def _print_phabsend_action(ui, ctx, newrevid, action):
+ """print the ``action`` that occurred when posting ``ctx`` for review
+
+ This is a utility function for the sending phase of ``phabsend``, which
+ makes it easier to show a status for all local commits with `--fold``.
+ """
+ actiondesc = ui.label(
+ {
+ b'created': _(b'created'),
+ b'skipped': _(b'skipped'),
+ b'updated': _(b'updated'),
+ }[action],
+ b'phabricator.action.%s' % action,
+ )
+ drevdesc = ui.label(b'D%d' % newrevid, b'phabricator.drev')
+ nodedesc = ui.label(bytes(ctx), b'phabricator.node')
+ desc = ui.label(ctx.description().split(b'\n')[0], b'phabricator.desc')
+ ui.write(_(b'%s - %s - %s: %s\n') % (drevdesc, actiondesc, nodedesc, desc))
+
+
def _amend_diff_properties(unfi, drevid, newnodes, diff):
"""update the local commit list for the ``diff`` associated with ``drevid``
@@ -1317,23 +1337,11 @@
newrevid = revid
action = b'skipped'
- actiondesc = ui.label(
- {
- b'created': _(b'created'),
- b'skipped': _(b'skipped'),
- b'updated': _(b'updated'),
- }[action],
- b'phabricator.action.%s' % action,
- )
- drevdesc = ui.label(b'D%d' % newrevid, b'phabricator.drev')
- nodedesc = ui.label(bytes(ctx), b'phabricator.node')
- desc = ui.label(ctx.description().split(b'\n')[0], b'phabricator.desc')
- ui.write(
- _(b'%s - %s - %s: %s\n') % (drevdesc, actiondesc, nodedesc, desc)
- )
drevids.append(newrevid)
lastrevphid = newrevphid
+ _print_phabsend_action(ui, ctx, newrevid, action)
+
# Update commit messages and remove tags
if opts.get(b'amend'):
unfi = repo.unfiltered()