Mercurial > hg
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): |