comparison mercurial/merge.py @ 9048:86b4a9b0ddda

ui: extract choice from prompt avoid translating single characters (as l for _local or sym_link)
author Simon Heimberg <simohe@besonet.ch>
date Sun, 21 Jun 2009 01:13:19 +0200
parents 3f56055ff1d7
children 4c041f1ee1b4
comparison
equal deleted inserted replaced
9047:8263d98ffb1c 9048:86b4a9b0ddda
129 """merge flags""" 129 """merge flags"""
130 a, m, n = ma.flags(fa), m1.flags(f), m2.flags(f2) 130 a, m, n = ma.flags(fa), m1.flags(f), m2.flags(f2)
131 if m == n: # flags agree 131 if m == n: # flags agree
132 return m # unchanged 132 return m # unchanged
133 if m and n and not a: # flags set, don't agree, differ from parent 133 if m and n and not a: # flags set, don't agree, differ from parent
134 r = repo.ui.prompt( 134 r = repo.ui.promptchoice(
135 _(" conflicting flags for %s\n" 135 _(" conflicting flags for %s\n"
136 "(n)one, e(x)ec or sym(l)ink?") % f, 136 "(n)one, e(x)ec or sym(l)ink?") % f,
137 (_("&None"), _("E&xec"), _("Sym&link")), _("n")) 137 (_("&None"), _("E&xec"), _("Sym&link")), 0)
138 return r != _("n") and r or '' 138 if r == 1: return "x" # Exec
139 if r == 2: return "l" # Symlink
140 return ""
139 if m and m != a: # changed from a to m 141 if m and m != a: # changed from a to m
140 return m 142 return m
141 if n and n != a: # changed from a to n 143 if n and n != a: # changed from a to n
142 return n 144 return n
143 return '' # flag was cleared 145 return '' # flag was cleared
189 else: # case 2 A,B/B/B or case 4,21 A/B/B 191 else: # case 2 A,B/B/B or case 4,21 A/B/B
190 act("local copied/moved to " + f2, "m", 192 act("local copied/moved to " + f2, "m",
191 f, f2, f, fmerge(f, f2, f2), False) 193 f, f2, f, fmerge(f, f2, f2), False)
192 elif f in ma: # clean, a different, no remote 194 elif f in ma: # clean, a different, no remote
193 if n != ma[f]: 195 if n != ma[f]:
194 if repo.ui.prompt( 196 if repo.ui.promptchoice(
195 _(" local changed %s which remote deleted\n" 197 _(" local changed %s which remote deleted\n"
196 "use (c)hanged version or (d)elete?") % f, 198 "use (c)hanged version or (d)elete?") % f,
197 (_("&Changed"), _("&Delete")), _("c")) == _("d"): 199 (_("&Changed"), _("&Delete")), 0):
198 act("prompt delete", "r", f) 200 act("prompt delete", "r", f)
199 else: 201 else:
200 act("prompt keep", "a", f) 202 act("prompt keep", "a", f)
201 elif n[20:] == "a": # added, no remote 203 elif n[20:] == "a": # added, no remote
202 act("remote deleted", "f", f) 204 act("remote deleted", "f", f)
220 act("remote moved to " + f, "m", 222 act("remote moved to " + f, "m",
221 f2, f, f, fmerge(f2, f, f2), True) 223 f2, f, f, fmerge(f2, f, f2), True)
222 elif f not in ma: 224 elif f not in ma:
223 act("remote created", "g", f, m2.flags(f)) 225 act("remote created", "g", f, m2.flags(f))
224 elif n != ma[f]: 226 elif n != ma[f]:
225 if repo.ui.prompt( 227 if repo.ui.promptchoice(
226 _("remote changed %s which local deleted\n" 228 _("remote changed %s which local deleted\n"
227 "use (c)hanged version or leave (d)eleted?") % f, 229 "use (c)hanged version or leave (d)eleted?") % f,
228 (_("&Changed"), _("&Deleted")), _("c")) == _("c"): 230 (_("&Changed"), _("&Deleted")), 0) == 0:
229 act("prompt recreating", "g", f, m2.flags(f)) 231 act("prompt recreating", "g", f, m2.flags(f))
230 232
231 return action 233 return action
232 234
233 def actionkey(a): 235 def actionkey(a):