diff mercurial/subrepo.py @ 31557:f97e90fa5ad7

merge with stable
author Augie Fackler <augie@google.com>
date Tue, 21 Mar 2017 18:36:14 -0400
parents 53865692a354 2915cc1d3429
children 2406dbba49bd
line wrap: on
line diff
--- 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'