mercurial/merge.py
changeset 27655 af13eaf9ab8c
parent 27654 95dc67f10239
child 27656 57c0d4888ca8
equal deleted inserted replaced
27654:95dc67f10239 27655:af13eaf9ab8c
   586             raise error.Abort(_("untracked files in working directory differ "
   586             raise error.Abort(_("untracked files in working directory differ "
   587                                 "from files in requested revision"))
   587                                 "from files in requested revision"))
   588 
   588 
   589     for f, (m, args, msg) in actions.iteritems():
   589     for f, (m, args, msg) in actions.iteritems():
   590         if m == 'c':
   590         if m == 'c':
   591             actions[f] = ('g', args, msg)
   591             flags, = args
       
   592             actions[f] = ('g', (flags, False), msg)
   592         elif m == 'cm':
   593         elif m == 'cm':
   593             fl2, anc = args
   594             fl2, anc = args
   594             different = _checkunknownfile(repo, wctx, mctx, f)
   595             different = _checkunknownfile(repo, wctx, mctx, f)
   595             if different:
   596             if different:
   596                 actions[f] = ('m', (f, f, None, False, anc),
   597                 actions[f] = ('m', (f, f, None, False, anc),
   597                               "remote differs from untracked local")
   598                               "remote differs from untracked local")
   598             else:
   599             else:
   599                 actions[f] = ('g', (fl2,), "remote created")
   600                 actions[f] = ('g', (fl2, False), "remote created")
   600 
   601 
   601 def _forgetremoved(wctx, mctx, branchmerge):
   602 def _forgetremoved(wctx, mctx, branchmerge):
   602     """
   603     """
   603     Forget removed files
   604     Forget removed files
   604 
   605 
   746                     actions[f] = ('k' , (), "remote unchanged")
   747                     actions[f] = ('k' , (), "remote unchanged")
   747                 elif n1 == a and fl1 == fla: # local unchanged - use remote
   748                 elif n1 == a and fl1 == fla: # local unchanged - use remote
   748                     if n1 == n2: # optimization: keep local content
   749                     if n1 == n2: # optimization: keep local content
   749                         actions[f] = ('e', (fl2,), "update permissions")
   750                         actions[f] = ('e', (fl2,), "update permissions")
   750                     else:
   751                     else:
   751                         actions[f] = ('g', (fl2,), "remote is newer")
   752                         actions[f] = ('g', (fl2, False), "remote is newer")
   752                 elif nol and n2 == a: # remote only changed 'x'
   753                 elif nol and n2 == a: # remote only changed 'x'
   753                     actions[f] = ('e', (fl2,), "update permissions")
   754                     actions[f] = ('e', (fl2,), "update permissions")
   754                 elif nol and n1 == a: # local only changed 'x'
   755                 elif nol and n1 == a: # local only changed 'x'
   755                     actions[f] = ('g', (fl1,), "remote is newer")
   756                     actions[f] = ('g', (fl1, False), "remote is newer")
   756                 else: # both changed something
   757                 else: # both changed something
   757                     actions[f] = ('m', (f, f, f, False, pa.node()),
   758                     actions[f] = ('m', (f, f, f, False, pa.node()),
   758                                    "versions differ")
   759                                    "versions differ")
   759         elif n1: # file exists only on local side
   760         elif n1: # file exists only on local side
   760             if f in copied:
   761             if f in copied:
  1457             flags = p2[f2].flags()
  1458             flags = p2[f2].flags()
  1458             if repo.ui.promptchoice(
  1459             if repo.ui.promptchoice(
  1459                 _("remote changed %s which local deleted\n"
  1460                 _("remote changed %s which local deleted\n"
  1460                   "use (c)hanged version or leave (d)eleted?"
  1461                   "use (c)hanged version or leave (d)eleted?"
  1461                   "$$ &Changed $$ &Deleted") % f, 0) == 0:
  1462                   "$$ &Changed $$ &Deleted") % f, 0) == 0:
  1462                 actions['g'].append((f, (flags,), "prompt recreating"))
  1463                 actions['g'].append((f, (flags, False), "prompt recreating"))
  1463 
  1464 
  1464         # divergent renames
  1465         # divergent renames
  1465         for f, fl in sorted(diverge.iteritems()):
  1466         for f, fl in sorted(diverge.iteritems()):
  1466             repo.ui.warn(_("note: possible conflict - %s was renamed "
  1467             repo.ui.warn(_("note: possible conflict - %s was renamed "
  1467                            "multiple times to:\n") % f)
  1468                            "multiple times to:\n") % f)