mercurial/merge.py
changeset 3096 54d85098fb82
parent 3095 92a0c2200e41
child 3097 1b738357bba9
equal deleted inserted replaced
3095:92a0c2200e41 3096:54d85098fb82
   231     else: xxp2 = xp2
   231     else: xxp2 = xp2
   232 
   232 
   233     repo.hook('preupdate', throw=True, parent1=xp1, parent2=xxp2)
   233     repo.hook('preupdate', throw=True, parent1=xp1, parent2=xxp2)
   234 
   234 
   235     # update files
   235     # update files
   236     unresolved = []
   236     updated, merged, removed, unresolved = 0, 0, 0, 0
   237     updated, merged, removed = 0, 0, 0
       
   238     files = action.keys()
   237     files = action.keys()
   239     files.sort()
   238     files.sort()
   240     for f in files:
   239     for f in files:
   241         flag, my, other = action[f]
   240         flag, my, other = action[f]
   242         if f[0] == "/":
   241         if f[0] == "/":
   252                                  (f, inst.strerror))
   251                                  (f, inst.strerror))
   253             removed +=1
   252             removed +=1
   254         elif other:
   253         elif other:
   255             repo.ui.status(_("merging %s\n") % f)
   254             repo.ui.status(_("merging %s\n") % f)
   256             if merge3(repo, f, my, other, xp1, xp2):
   255             if merge3(repo, f, my, other, xp1, xp2):
   257                 unresolved.append(f)
   256                 unresolved += 1
   258             util.set_exec(repo.wjoin(f), flag)
   257             util.set_exec(repo.wjoin(f), flag)
   259             merged += 1
   258             merged += 1
   260         else:
   259         else:
   261             repo.ui.note(_("getting %s\n") % f)
   260             repo.ui.note(_("getting %s\n") % f)
   262             t = repo.file(f).read(my)
   261             t = repo.file(f).read(my)
   297                     f_len = fl.size(fl.rev(other))
   296                     f_len = fl.size(fl.rev(other))
   298                     repo.dirstate.update([f], 'n', st_size=f_len, st_mtime=-1)
   297                     repo.dirstate.update([f], 'n', st_size=f_len, st_mtime=-1)
   299 
   298 
   300     if show_stats:
   299     if show_stats:
   301         stats = ((updated, _("updated")),
   300         stats = ((updated, _("updated")),
   302                  (merged - len(unresolved), _("merged")),
   301                  (merged - unresolved, _("merged")),
   303                  (removed, _("removed")),
   302                  (removed, _("removed")),
   304                  (len(unresolved), _("unresolved")))
   303                  (unresolved, _("unresolved")))
   305         note = ", ".join([_("%d files %s") % s for s in stats])
   304         note = ", ".join([_("%d files %s") % s for s in stats])
   306         repo.ui.status("%s\n" % note)
   305         repo.ui.status("%s\n" % note)
   307     if not partial:
   306     if not partial:
   308         if branchmerge:
   307         if branchmerge:
   309             if unresolved:
   308             if unresolved:
   317                 repo.ui.status(_("(branch merge, don't forget to commit)\n"))
   316                 repo.ui.status(_("(branch merge, don't forget to commit)\n"))
   318         elif unresolved:
   317         elif unresolved:
   319             repo.ui.status(_("There are unresolved merges with"
   318             repo.ui.status(_("There are unresolved merges with"
   320                              " locally modified files.\n"))
   319                              " locally modified files.\n"))
   321 
   320 
   322     repo.hook('update', parent1=xp1, parent2=xxp2, error=len(unresolved))
   321     repo.hook('update', parent1=xp1, parent2=xxp2, error=unresolved)
   323     return len(unresolved)
   322     return unresolved
   324 
   323