##// 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 b' def manifestmerge(repo, p1, p2, pa, over'
167 m1, m2, ma = p1.manifest(), p2.manifest(), pa.manifest()
167 m1, m2, ma = p1.manifest(), p2.manifest(), pa.manifest()
168 copied = set(copy.values())
168 copied = set(copy.values())
169
169
170 if not overwrite and '.hgsubstate' in m1:
170 if '.hgsubstate' in m1:
171 # check whether sub state is modified
171 # check whether sub state is modified
172 for s in p1.substate:
172 for s in p1.substate:
173 if p1.sub(s).dirty():
173 if p1.sub(s).dirty():
@@ -67,11 +67,13 b' def submerge(repo, wctx, mctx, actx):'
67 repo.ui.debug(" subrepo %s: %s %s\n" % (s, msg, r))
67 repo.ui.debug(" subrepo %s: %s %s\n" % (s, msg, r))
68
68
69 for s, l in s1.items():
69 for s, l in s1.items():
70 a = sa.get(s, nullstate)
70 ld = l # local state with possible dirty flag for compares
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 ld = (l[0], l[1] + "+")
73 ld = (l[0], l[1] + "+")
74 if wctx == actx: # overwrite
75 a = ld
73
76
74 a = sa.get(s, nullstate)
75 if s in s2:
77 if s in s2:
76 r = s2[s]
78 r = s2[s]
77 if ld == r or r == a: # no change or local is newer
79 if ld == r or r == a: # no change or local is newer
@@ -19,6 +19,13 b' hg -R s ci -Ams0'
19 hg sum
19 hg sum
20 hg ci -m1
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 echo % add sub sub
29 echo % add sub sub
23 echo ss = ss > s/.hgsub
30 echo ss = ss > s/.hgsub
24 hg init s/ss
31 hg init s/ss
@@ -8,6 +8,17 b' branch: default'
8 commit: 1 added, 1 subrepos
8 commit: 1 added, 1 subrepos
9 update: (current)
9 update: (current)
10 committing subrepository s
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 % add sub sub
22 % add sub sub
12 parent: 1:7cf8cfea66e4 tip
23 parent: 1:7cf8cfea66e4 tip
13 1
24 1
General Comments 0
You need to be logged in to leave comments. Login now