##// END OF EJS Templates
merge: delay prompts a bit and show them in (extra) sorted order...
Mads Kiilerich -
r18539:cf25e4ef default
parent child Browse files
Show More
@@ -227,6 +227,7 b' def manifestmerge(repo, p1, p2, pa, over'
227 m1['.hgsubstate'] += "+"
227 m1['.hgsubstate'] += "+"
228 break
228 break
229
229
230 prompts = []
230 # Compare manifests
231 # Compare manifests
231 visit = m1.iteritems()
232 visit = m1.iteritems()
232 if repo.ui.debugflag:
233 if repo.ui.debugflag:
@@ -265,13 +266,7 b' def manifestmerge(repo, p1, p2, pa, over'
265 act("local copied/moved to " + f2, "m", f, f2, f, False)
266 act("local copied/moved to " + f2, "m", f, f2, f, False)
266 elif f in ma: # clean, a different, no remote
267 elif f in ma: # clean, a different, no remote
267 if n != ma[f]:
268 if n != ma[f]:
268 if repo.ui.promptchoice(
269 prompts.append((f, "cd")) # prompt changed/deleted
269 _(" local changed %s which remote deleted\n"
270 "use (c)hanged version or (d)elete?") % f,
271 (_("&Changed"), _("&Delete")), 0):
272 act("prompt delete", "r", f)
273 else:
274 act("prompt keep", "a", f)
275 elif n[20:] == "a": # added, no remote
270 elif n[20:] == "a": # added, no remote
276 act("remote deleted", "f", f)
271 act("remote deleted", "f", f)
277 else:
272 else:
@@ -305,12 +300,24 b' def manifestmerge(repo, p1, p2, pa, over'
305 else:
300 else:
306 act("remote created", "g", f, m2.flags(f))
301 act("remote created", "g", f, m2.flags(f))
307 elif n != ma[f]:
302 elif n != ma[f]:
303 prompts.append((f, "dc")) # prompt deleted/changed
304
305 for f, m in sorted(prompts):
306 if m == "cd":
307 if repo.ui.promptchoice(
308 _(" local changed %s which remote deleted\n"
309 "use (c)hanged version or (d)elete?") % f,
310 (_("&Changed"), _("&Delete")), 0):
311 act("prompt delete", "r", f)
312 else:
313 act("prompt keep", "a", f)
314 elif m == "dc":
308 if repo.ui.promptchoice(
315 if repo.ui.promptchoice(
309 _("remote changed %s which local deleted\n"
316 _("remote changed %s which local deleted\n"
310 "use (c)hanged version or leave (d)eleted?") % f,
317 "use (c)hanged version or leave (d)eleted?") % f,
311 (_("&Changed"), _("&Deleted")), 0) == 0:
318 (_("&Changed"), _("&Deleted")), 0) == 0:
312 act("prompt recreating", "g", f, m2.flags(f))
319 act("prompt recreating", "g", f, m2.flags(f))
313
320 else: assert False, m
314 return actions
321 return actions
315
322
316 def actionkey(a):
323 def actionkey(a):
@@ -617,11 +617,11 b' m "um a c" "um x c" " " "10 do merg'
617 resolving manifests
617 resolving manifests
618 overwrite: False, partial: False
618 overwrite: False, partial: False
619 ancestor: 924404dff337, local: 0b76e65c8289+, remote: bdb19105162a
619 ancestor: 924404dff337, local: 0b76e65c8289+, remote: bdb19105162a
620 b: versions differ -> m
621 rev: versions differ -> m
620 local changed a which remote deleted
622 local changed a which remote deleted
621 use (c)hanged version or (d)elete? c
623 use (c)hanged version or (d)elete? c
622 a: prompt keep -> a
624 a: prompt keep -> a
623 b: versions differ -> m
624 rev: versions differ -> m
625 preserving b for resolve of b
625 preserving b for resolve of b
626 preserving rev for resolve of rev
626 preserving rev for resolve of rev
627 updating: a 1/3 files (33.33%)
627 updating: a 1/3 files (33.33%)
General Comments 0
You need to be logged in to leave comments. Login now