mercurial/merge.py
changeset 3317 966632304dde
parent 3315 e8be5942335d
child 3318 c5075ad5e3e9
equal deleted inserted replaced
3316:0e370798eebf 3317:966632304dde
    30         f.close()
    30         f.close()
    31         return name
    31         return name
    32 
    32 
    33     fcm = wctx.filectx(fw)
    33     fcm = wctx.filectx(fw)
    34     fco = mctx.filectx(fo)
    34     fco = mctx.filectx(fo)
       
    35 
       
    36     if not fco.cmp(fcm.data()): # files identical?
       
    37         return 0
       
    38 
    35     fca = fcm.ancestor(fco)
    39     fca = fcm.ancestor(fco)
    36     if not fca:
    40     if not fca:
    37         fca = repo.filectx(fw, fileid=-1)
    41         fca = repo.filectx(fw, fileid=-1)
    38     a = repo.wjoin(fw)
    42     a = repo.wjoin(fw)
    39     b = temp("base", fca)
    43     b = temp("base", fca)
    40     c = temp("other", fco)
    44     c = temp("other", fco)
    41 
    45 
    42     repo.ui.note(_("resolving %s\n") % fw)
    46     if fw != fo:
       
    47         repo.ui.status(_("merging %s and %s\n") % (fw, fo))
       
    48     else:
       
    49         repo.ui.status(_("merging %s\n") % fw)
       
    50 
    43     repo.ui.debug(_("my %s other %s ancestor %s\n") % (fcm, fco, fca))
    51     repo.ui.debug(_("my %s other %s ancestor %s\n") % (fcm, fco, fca))
    44 
    52 
    45     cmd = (os.environ.get("HGMERGE") or repo.ui.config("ui", "merge")
    53     cmd = (os.environ.get("HGMERGE") or repo.ui.config("ui", "merge")
    46            or "hgmerge")
    54            or "hgmerge")
    47     r = util.system('%s "%s" "%s" "%s"' % (cmd, a, b, c), cwd=repo.root,
    55     r = util.system('%s "%s" "%s" "%s"' % (cmd, a, b, c), cwd=repo.root,
   279                     repo.ui.warn(_("update failed to remove %s: %s!\n") %
   287                     repo.ui.warn(_("update failed to remove %s: %s!\n") %
   280                                  (f, inst.strerror))
   288                                  (f, inst.strerror))
   281             removed +=1
   289             removed +=1
   282         elif m == "m": # merge
   290         elif m == "m": # merge
   283             f2, fd, flag, move = a[2:]
   291             f2, fd, flag, move = a[2:]
   284             if f != f2:
       
   285                 repo.ui.status(_("merging %s and %s to %s\n") % (f, f2, fd))
       
   286             else:
       
   287                 repo.ui.status(_("merging %s\n") % f)
       
   288             if filemerge(repo, f, f2, wctx, mctx):
   292             if filemerge(repo, f, f2, wctx, mctx):
   289                 unresolved += 1
   293                 unresolved += 1
   290             else:
   294             else:
   291                 if f != fd:
   295                 if f != fd:
   292                     repo.ui.debug(_("copying %s to %s\n") % (f, fd))
   296                     repo.ui.debug(_("copying %s to %s\n") % (f, fd))