hgext3rd/evolve/evolvecmd.py
changeset 4747 fa6aafa2857d
parent 4738 45508676ed00
child 4752 8a73a8df63b6
equal deleted inserted replaced
4746:724c67878d98 4747:fa6aafa2857d
   334     evolvestate['old-other'] = None
   334     evolvestate['old-other'] = None
   335     base, others = divergentdata(divergent)
   335     base, others = divergentdata(divergent)
   336 
   336 
   337     # we don't handle split in content-divergence yet
   337     # we don't handle split in content-divergence yet
   338     if len(others) > 1:
   338     if len(others) > 1:
   339         othersstr = "[%s]" % (','.join([str(i) for i in others]))
   339         othersstr = "[%s]" % (','.join([bytes(i) for i in others]))
   340         msg = _("skipping %s: %s with a changeset that got split"
   340         msg = _("skipping %s: %s with a changeset that got split"
   341                 " into multiple ones:\n"
   341                 " into multiple ones:\n"
   342                 "|[%s]\n"
   342                 "|[%s]\n"
   343                 "| This is not handled by automatic evolution yet\n"
   343                 "| This is not handled by automatic evolution yet\n"
   344                 "| You have to fallback to manual handling with commands "
   344                 "| You have to fallback to manual handling with commands "
   540         if not res:
   540         if not res:
   541             # resolution was not successful, return
   541             # resolution was not successful, return
   542             return (res, newnode)
   542             return (res, newnode)
   543         if newnode == publicdiv.node():
   543         if newnode == publicdiv.node():
   544             # case 2)
   544             # case 2)
   545             pubstr = str(publicdiv)
   545             pubstr = bytes(publicdiv)
   546             othstr = str(other)
   546             othstr = bytes(other)
   547             msg = _('content divergence resolution between %s '
   547             msg = _('content divergence resolution between %s '
   548                     '(public) and %s has same content as %s, '
   548                     '(public) and %s has same content as %s, '
   549                     'discarding %s\n')
   549                     'discarding %s\n')
   550             msg %= (pubstr, othstr, pubstr, othstr)
   550             msg %= (pubstr, othstr, pubstr, othstr)
   551             repo.ui.status(msg)
   551             repo.ui.status(msg)
   689     if other.description() != local.description():
   689     if other.description() != local.description():
   690         aspects.add('description')
   690         aspects.add('description')
   691 
   691 
   692     if aspects:
   692     if aspects:
   693         # warn user
   693         # warn user
   694         locstr = str(local)
   694         locstr = bytes(local)
   695         othstr = str(other)
   695         othstr = bytes(other)
   696         if 'close' in aspects:
   696         if 'close' in aspects:
   697             filteredasp = aspects - {'close'}
   697             filteredasp = aspects - {'close'}
   698             if filteredasp:
   698             if filteredasp:
   699                 msg = _('other divergent changeset %s is a closed branch head '
   699                 msg = _('other divergent changeset %s is a closed branch head '
   700                         'and differs from local %s by "%s" only,' %
   700                         'and differs from local %s by "%s" only,' %
  1089     elif targetcat == 'orphan':
  1089     elif targetcat == 'orphan':
  1090         revs = set(_aspiringchildren(repo, repo.revs('(.::) - obsolete()::')))
  1090         revs = set(_aspiringchildren(repo, repo.revs('(.::) - obsolete()::')))
  1091         if 1 < len(revs):
  1091         if 1 < len(revs):
  1092             msg = "multiple evolve candidates"
  1092             msg = "multiple evolve candidates"
  1093             hint = (_("select one of %s with --rev")
  1093             hint = (_("select one of %s with --rev")
  1094                     % ', '.join([str(repo[r]) for r in sorted(revs)]))
  1094                     % ', '.join([bytes(repo[r]) for r in sorted(revs)]))
  1095             raise error.Abort(msg, hint=hint)
  1095             raise error.Abort(msg, hint=hint)
  1096     elif instabilities_map.get(targetcat, targetcat) in repo['.'].instabilities():
  1096     elif instabilities_map.get(targetcat, targetcat) in repo['.'].instabilities():
  1097         revs = set([repo['.'].rev()])
  1097         revs = set([repo['.'].rev()])
  1098     return revs
  1098     return revs
  1099 
  1099 
  1847 
  1847 
  1848         # checking if phase changed of any of the evolved rev
  1848         # checking if phase changed of any of the evolved rev
  1849         immutable = [c for c in evolvedctx if not c.mutable()]
  1849         immutable = [c for c in evolvedctx if not c.mutable()]
  1850         if immutable:
  1850         if immutable:
  1851             repo.ui.warn(_("cannot clean up public changesets: %s\n")
  1851             repo.ui.warn(_("cannot clean up public changesets: %s\n")
  1852                          % ', '.join(str(c) for c in immutable),
  1852                          % ', '.join(bytes(c) for c in immutable),
  1853                          hint=_("see 'hg help phases' for details"))
  1853                          hint=_("see 'hg help phases' for details"))
  1854             cleanup = False
  1854             cleanup = False
  1855 
  1855 
  1856         # checking no new changesets are created on evolved revs
  1856         # checking no new changesets are created on evolved revs
  1857         descendants = set()
  1857         descendants = set()