subrepo: move prompts out of the if (issue5505)

Prompts weren't available in the else clause
This commit is contained in:
Simon Farnsworth 2017-03-20 04:36:55 -07:00
parent aff9286eb0
commit ddbe7287e7
2 changed files with 11 additions and 6 deletions

View File

@ -194,7 +194,9 @@ def submerge(repo, wctx, mctx, actx, overwrite, labels=None):
r = "%s:%s:%s" % r
repo.ui.debug(" subrepo %s: %s %s\n" % (s, msg, r))
promptssrc = filemerge.partextras(labels)
for s, l in sorted(s1.iteritems()):
prompts = None
a = sa.get(s, nullstate)
ld = l # local state with possible dirty flag for compares
if wctx.sub(s).dirty():
@ -202,9 +204,9 @@ def submerge(repo, wctx, mctx, actx, overwrite, labels=None):
if wctx == actx: # overwrite
a = ld
prompts = promptssrc.copy()
prompts['s'] = s
if s in s2:
prompts = filemerge.partextras(labels)
prompts['s'] = s
r = s2[s]
if ld == r or r == a: # no change or local is newer
sm[s] = l
@ -267,6 +269,7 @@ def submerge(repo, wctx, mctx, actx, overwrite, labels=None):
wctx.sub(s).remove()
for s, r in sorted(s2.items()):
prompts = None
if s in s1:
continue
elif s not in sa:
@ -274,6 +277,8 @@ def submerge(repo, wctx, mctx, actx, overwrite, labels=None):
mctx.sub(s).get(r)
sm[s] = r
elif r != sa[s]:
prompts = promptssrc.copy()
prompts['s'] = s
if repo.ui.promptchoice(
_(' remote%(o)s changed subrepository %(s)s'
' which local%(l)s removed\n'

View File

@ -349,7 +349,7 @@ should conflict
local removed, remote changed, keep changed
$ hg merge 6
remote [merge rev] changed subrepository s which local [working copy] removed
remote [merge rev] changed subrepository t which local [working copy] removed
use (c)hanged version or (d)elete? c
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
@ -380,7 +380,7 @@ local removed, remote changed, keep removed
$ hg merge --config ui.interactive=true 6 <<EOF
> d
> EOF
remote [merge rev] changed subrepository s which local [working copy] removed
remote [merge rev] changed subrepository t which local [working copy] removed
use (c)hanged version or (d)elete? d
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
@ -404,7 +404,7 @@ local changed, remote removed, keep changed
$ hg co -C 6
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg merge 11
local [working copy] changed subrepository s which remote [merge rev] removed
local [working copy] changed subrepository t which remote [merge rev] removed
use (c)hanged version or (d)elete? c
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
@ -436,7 +436,7 @@ local changed, remote removed, keep removed
$ hg merge --config ui.interactive=true 11 <<EOF
> d
> EOF
local [working copy] changed subrepository s which remote [merge rev] removed
local [working copy] changed subrepository t which remote [merge rev] removed
use (c)hanged version or (d)elete? d
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)