##// END OF EJS Templates
subrepo: correctly handle update -C with modified subrepos (issue2022)...
Matt Mackall -
r11470:34e33d50 stable
parent child Browse files
Show More
@@ -167,7 +167,7 def manifestmerge(repo, p1, p2, pa, over
167 167 m1, m2, ma = p1.manifest(), p2.manifest(), pa.manifest()
168 168 copied = set(copy.values())
169 169
170 if not overwrite and '.hgsubstate' in m1:
170 if '.hgsubstate' in m1:
171 171 # check whether sub state is modified
172 172 for s in p1.substate:
173 173 if p1.sub(s).dirty():
@@ -67,11 +67,13 def submerge(repo, wctx, mctx, actx):
67 67 repo.ui.debug(" subrepo %s: %s %s\n" % (s, msg, r))
68 68
69 69 for s, l in s1.items():
70 a = sa.get(s, nullstate)
70 71 ld = l # local state with possible dirty flag for compares
71 if wctx != actx and wctx.sub(s).dirty():
72 if wctx.sub(s).dirty():
72 73 ld = (l[0], l[1] + "+")
74 if wctx == actx: # overwrite
75 a = ld
73 76
74 a = sa.get(s, nullstate)
75 77 if s in s2:
76 78 r = s2[s]
77 79 if ld == r or r == a: # no change or local is newer
@@ -19,6 +19,13 hg -R s ci -Ams0
19 19 hg sum
20 20 hg ci -m1
21 21
22 # issue 2022 - update -C
23
24 echo b > s/a
25 hg sum
26 hg co -C 1
27 hg sum
28
22 29 echo % add sub sub
23 30 echo ss = ss > s/.hgsub
24 31 hg init s/ss
@@ -8,6 +8,17 branch: default
8 8 commit: 1 added, 1 subrepos
9 9 update: (current)
10 10 committing subrepository s
11 parent: 1:7cf8cfea66e4 tip
12 1
13 branch: default
14 commit: 1 subrepos
15 update: (current)
16 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
17 parent: 1:7cf8cfea66e4 tip
18 1
19 branch: default
20 commit: (clean)
21 update: (current)
11 22 % add sub sub
12 23 parent: 1:7cf8cfea66e4 tip
13 24 1
General Comments 0
You need to be logged in to leave comments. Login now