Mercurial > public > mercurial-scm > hg-stable
diff mercurial/merge.py @ 23541:495bc1b65d25
merge: move cd/dc prompts after largefiles prompts
By moving the cd/dc prompts out of calculateupdates(), we let
largefiles' overridecalculateupdates() so the unresolved values
(i.e. 'cd' or 'dc' rather than 'g', 'r', 'a' and missing). This allows
overridecalculateupdates() to ask the user whether to keep the normal
file or the largefile before the user gets the cd/dc prompt. Whichever
answer the user gives, we make overridecalculateupdates() replace 'cd'
or 'dc' action, saving the user one annoying (and less clear)
question.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 11 Dec 2014 21:21:21 -0800 |
parents | 416c133145ee |
children | 7cc0fb0080b6 |
line wrap: on
line diff
--- a/mercurial/merge.py Sun Nov 30 22:47:53 2014 -0500 +++ b/mercurial/merge.py Thu Dec 11 21:21:21 2014 -0800 @@ -640,26 +640,6 @@ _resolvetrivial(repo, wctx, mctx, ancestors[0], actions) - # Prompt and create actions. TODO: Move this towards resolve phase. - for f, args, msg in sorted(actions['cd']): - if repo.ui.promptchoice( - _("local changed %s which remote deleted\n" - "use (c)hanged version or (d)elete?" - "$$ &Changed $$ &Delete") % f, 0): - actions['r'].append((f, None, "prompt delete")) - else: - actions['a'].append((f, None, "prompt keep")) - del actions['cd'][:] - - for f, args, msg in sorted(actions['dc']): - flags, = args - if repo.ui.promptchoice( - _("remote changed %s which local deleted\n" - "use (c)hanged version or leave (d)eleted?" - "$$ &Changed $$ &Deleted") % f, 0) == 0: - actions['g'].append((f, (flags,), "prompt recreating")) - del actions['dc'][:] - if wctx.rev() is None: ractions, factions = _forgetremoved(wctx, mctx, branchmerge) actions['r'].extend(ractions) @@ -1111,6 +1091,26 @@ repo, wc, p2, pas, branchmerge, force, partial, mergeancestor, followcopies) + # Prompt and create actions. TODO: Move this towards resolve phase. + for f, args, msg in sorted(actions['cd']): + if repo.ui.promptchoice( + _("local changed %s which remote deleted\n" + "use (c)hanged version or (d)elete?" + "$$ &Changed $$ &Delete") % f, 0): + actions['r'].append((f, None, "prompt delete")) + else: + actions['a'].append((f, None, "prompt keep")) + del actions['cd'][:] + + for f, args, msg in sorted(actions['dc']): + flags, = args + if repo.ui.promptchoice( + _("remote changed %s which local deleted\n" + "use (c)hanged version or leave (d)eleted?" + "$$ &Changed $$ &Deleted") % f, 0) == 0: + actions['g'].append((f, (flags,), "prompt recreating")) + del actions['dc'][:] + ### apply phase if not branchmerge: # just jump to the new rev fp1, fp2, xp1, xp2 = fp2, nullid, xp2, ''