--- a/mercurial/subrepo.py Tue Mar 21 06:50:28 2017 -0700
+++ b/mercurial/subrepo.py Tue Mar 21 18:36:14 2017 -0400
@@ -195,7 +195,9 @@
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():
@@ -203,9 +205,9 @@
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
@@ -268,6 +270,7 @@
wctx.sub(s).remove()
for s, r in sorted(s2.items()):
+ prompts = None
if s in s1:
continue
elif s not in sa:
@@ -275,6 +278,8 @@
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'