mercurial/commands.py
changeset 6004 5af5f0f9d724
parent 6001 30d2fecaab76
child 6042 2da5b19a6460
equal deleted inserted replaced
6003:7855b88ba838 6004:5af5f0f9d724
   810                        " to http://www.selenic.com/mercurial/bts\n"))
   810                        " to http://www.selenic.com/mercurial/bts\n"))
   811     problems += patchproblems
   811     problems += patchproblems
   812 
   812 
   813     os.unlink(fa)
   813     os.unlink(fa)
   814     os.unlink(fd)
   814     os.unlink(fd)
   815 
       
   816     # merge helper
       
   817     ui.status(_("Checking merge helper...\n"))
       
   818     cmd = (os.environ.get("HGMERGE") or ui.config("ui", "merge")
       
   819            or "hgmerge")
       
   820     cmdpath = util.find_exe(cmd) or util.find_exe(cmd.split()[0])
       
   821     if not cmdpath:
       
   822         if cmd == 'hgmerge':
       
   823             ui.write(_(" No merge helper set and can't find default"
       
   824                        " hgmerge script in PATH\n"))
       
   825             ui.write(_(" (specify a merge helper in your .hgrc file)\n"))
       
   826         else:
       
   827             ui.write(_(" Can't find merge helper '%s' in PATH\n") % cmd)
       
   828             ui.write(_(" (specify a merge helper in your .hgrc file)\n"))
       
   829             problems += 1
       
   830     else:
       
   831         # actually attempt a patch here
       
   832         fa = writetemp("1\n2\n3\n4\n")
       
   833         fl = writetemp("1\n2\n3\ninsert\n4\n")
       
   834         fr = writetemp("begin\n1\n2\n3\n4\n")
       
   835         r = util.system('%s "%s" "%s" "%s"' % (cmd, fl, fa, fr))
       
   836         if r:
       
   837             ui.write(_(" Got unexpected merge error %d!\n") % r)
       
   838             problems += 1
       
   839         m = file(fl).read()
       
   840         if m != "begin\n1\n2\n3\ninsert\n4\n":
       
   841             ui.write(_(" Got unexpected merge results!\n"))
       
   842             ui.write(_(" (your merge helper may have the"
       
   843                        " wrong argument order)\n"))
       
   844             ui.write(_(" Result: %r\n") % m)
       
   845             problems += 1
       
   846         os.unlink(fa)
       
   847         os.unlink(fl)
       
   848         os.unlink(fr)
       
   849 
   815 
   850     # editor
   816     # editor
   851     ui.status(_("Checking commit editor...\n"))
   817     ui.status(_("Checking commit editor...\n"))
   852     editor = ui.geteditor()
   818     editor = ui.geteditor()
   853     cmdpath = util.find_exe(editor) or util.find_exe(editor.split()[0])
   819     cmdpath = util.find_exe(editor) or util.find_exe(editor.split()[0])