comparison mercurial/filemerge.py @ 8830:a9850eda2973

filemerge: add internal:prompt target
author Matt Mackall <mpm@selenic.com>
date Thu, 18 Jun 2009 16:56:02 -0500
parents 94ca38e63576
children 91e26fb24fb1
comparison
equal deleted inserted replaced
8829:ce4b92f5cea7 8830:a9850eda2973
14 return ui.config("merge-tools", tool + "." + part, default) 14 return ui.config("merge-tools", tool + "." + part, default)
15 15
16 def _toolbool(ui, tool, part, default=False): 16 def _toolbool(ui, tool, part, default=False):
17 return ui.configbool("merge-tools", tool + "." + part, default) 17 return ui.configbool("merge-tools", tool + "." + part, default)
18 18
19 _internal = ['internal:' + s for s in 'fail local other merge prompt'.split()]
20
19 def _findtool(ui, tool): 21 def _findtool(ui, tool):
20 if tool in ("internal:fail", "internal:local", "internal:other"): 22 if tool in _internal:
21 return tool 23 return tool
22 k = _toolstr(ui, tool, "regkey") 24 k = _toolstr(ui, tool, "regkey")
23 if k: 25 if k:
24 p = util.lookup_reg(k, _toolstr(ui, tool, "regname")) 26 p = util.lookup_reg(k, _toolstr(ui, tool, "regname"))
25 if p: 27 if p:
138 symlink = 'l' in fcd.flags() + fco.flags() 140 symlink = 'l' in fcd.flags() + fco.flags()
139 tool, toolpath = _picktool(repo, ui, fd, binary, symlink) 141 tool, toolpath = _picktool(repo, ui, fd, binary, symlink)
140 ui.debug(_("picked tool '%s' for %s (binary %s symlink %s)\n") % 142 ui.debug(_("picked tool '%s' for %s (binary %s symlink %s)\n") %
141 (tool, fd, binary, symlink)) 143 (tool, fd, binary, symlink))
142 144
143 if not tool: 145 if not tool or tool == 'internal:prompt':
144 tool = "internal:local" 146 tool = "internal:local"
145 if ui.prompt(_(" no tool found to merge %s\n" 147 if ui.prompt(_(" no tool found to merge %s\n"
146 "keep (l)ocal or take (o)ther?") % fd, 148 "keep (l)ocal or take (o)ther?") % fd,
147 (_("&Local"), _("&Other")), _("l")) != _("l"): 149 (_("&Local"), _("&Other")), _("l")) != _("l"):
148 tool = "internal:other" 150 tool = "internal:other"