contrib/phabricator.py
changeset 34080 941c33cfde81
parent 33996 088598153aa2
child 34081 8b659b7388c0
equal deleted inserted replaced
34079:6c6169f71b8d 34080:941c33cfde81
    57 )
    57 )
    58 
    58 
    59 cmdtable = {}
    59 cmdtable = {}
    60 command = registrar.command(cmdtable)
    60 command = registrar.command(cmdtable)
    61 
    61 
       
    62 colortable = {
       
    63     'phabricator.action.created': 'green',
       
    64     'phabricator.action.skipped': 'magenta',
       
    65     'phabricator.action.updated': 'magenta',
       
    66     'phabricator.desc': '',
       
    67     'phabricator.drev': 'bold',
       
    68     'phabricator.node': '',
       
    69 }
       
    70 
    62 def urlencodenested(params):
    71 def urlencodenested(params):
    63     """like urlencode, but works with nested parameters.
    72     """like urlencode, but works with nested parameters.
    64 
    73 
    65     For example, if params is {'a': ['b', 'c'], 'd': {'e': 'f'}}, it will be
    74     For example, if params is {'a': ['b', 'c'], 'd': {'e': 'f'}}, it will be
    66     flattened to {'a[0]': 'b', 'a[1]': 'c', 'd[e]': 'f'} and then passed to
    75     flattened to {'a[0]': 'b', 'a[1]': 'c', 'd[e]': 'f'} and then passed to
   411             revision, diff = createdifferentialrevision(
   420             revision, diff = createdifferentialrevision(
   412                 ctx, revid, lastrevid, oldnode, olddiff, actions)
   421                 ctx, revid, lastrevid, oldnode, olddiff, actions)
   413             diffmap[ctx.node()] = diff
   422             diffmap[ctx.node()] = diff
   414             newrevid = int(revision[r'object'][r'id'])
   423             newrevid = int(revision[r'object'][r'id'])
   415             if revid:
   424             if revid:
   416                 action = _('updated')
   425                 action = 'updated'
   417             else:
   426             else:
   418                 action = _('created')
   427                 action = 'created'
   419 
   428 
   420             # Create a local tag to note the association, if commit message
   429             # Create a local tag to note the association, if commit message
   421             # does not have it already
   430             # does not have it already
   422             m = _differentialrevisiondescre.search(ctx.description())
   431             m = _differentialrevisiondescre.search(ctx.description())
   423             if not m or int(m.group(1)) != newrevid:
   432             if not m or int(m.group(1)) != newrevid:
   426                          date=None, local=True)
   435                          date=None, local=True)
   427         else:
   436         else:
   428             # Nothing changed. But still set "newrevid" so the next revision
   437             # Nothing changed. But still set "newrevid" so the next revision
   429             # could depend on this one.
   438             # could depend on this one.
   430             newrevid = revid
   439             newrevid = revid
   431             action = _('skipped')
   440             action = 'skipped'
   432 
   441 
   433         ui.write(_('D%s: %s - %s: %s\n') % (newrevid, action, ctx,
   442         actiondesc = ui.label(
   434                                             ctx.description().split('\n')[0]))
   443             {'created': _('created'),
       
   444              'skipped': _('skipped'),
       
   445              'updated': _('updated')}[action],
       
   446             'phabricator.action.%s' % action)
       
   447         drevdesc = ui.label('D%s' % newrevid, 'phabricator.drev')
       
   448         nodedesc = ui.label(bytes(ctx), 'phabricator.node')
       
   449         desc = ui.label(ctx.description().split('\n')[0], 'phabricator.desc')
       
   450         ui.write(_('%s - %s - %s: %s\n') % (drevdesc, actiondesc, nodedesc,
       
   451                                             desc))
   435         drevids.append(newrevid)
   452         drevids.append(newrevid)
   436         lastrevid = newrevid
   453         lastrevid = newrevid
   437 
   454 
   438     # Update commit messages and remove tags
   455     # Update commit messages and remove tags
   439     if opts.get('amend'):
   456     if opts.get('amend'):