##// END OF EJS Templates
submerge: properly deal with overwrites...
Matt Mackall -
r9783:ee00ef6f default
parent child Browse files
Show More
@@ -167,14 +167,15 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:
171 # check whether sub state is modified
172 for s in p1.substate:
173 if p1.sub(s).dirty():
174 m1['.hgsubstate'] += "+"
175 break
176
170 # Compare manifests
177 # Compare manifests
171 for f, n in m1.iteritems():
178 for f, n in m1.iteritems():
172 if f == '.hgsubstate':
173 # check whether sub state is modified
174 for s in p1.substate:
175 if p1.sub(s).dirty():
176 n += "+"
177 break
178 if partial and not partial(f):
179 if partial and not partial(f):
179 continue
180 continue
180 if f in m2:
181 if f in m2:
@@ -60,7 +60,7 b' def submerge(repo, wctx, mctx, actx):'
60 repo.ui.debug(" subrepo %s: %s %s\n" % (s, msg, r))
60 repo.ui.debug(" subrepo %s: %s %s\n" % (s, msg, r))
61
61
62 for s, l in s1.items():
62 for s, l in s1.items():
63 if wctx.sub(s).dirty():
63 if wctx != actx and wctx.sub(s).dirty():
64 l = (l[0], l[1] + "+")
64 l = (l[0], l[1] + "+")
65 a = sa.get(s, nullstate)
65 a = sa.get(s, nullstate)
66 if s in s2:
66 if s in s2:
@@ -56,6 +56,9 b' resolving manifests'
56 overwrite None partial False
56 overwrite None partial False
57 ancestor 1f14a2e2d3ec local f0d2028bf86d+ remote 1831e14459c4
57 ancestor 1f14a2e2d3ec local f0d2028bf86d+ remote 1831e14459c4
58 .hgsubstate: versions differ -> m
58 .hgsubstate: versions differ -> m
59 subrepo merge f0d2028bf86d+ 1831e14459c4 1f14a2e2d3ec
60 subrepo t: other changed, get t:6747d179aa9a688023c4b0cad32e4c92bb7f34ad
61 getting subrepo t
59 resolving manifests
62 resolving manifests
60 overwrite True partial False
63 overwrite True partial False
61 ancestor 60ca1237c194+ local 60ca1237c194+ remote 6747d179aa9a
64 ancestor 60ca1237c194+ local 60ca1237c194+ remote 6747d179aa9a
@@ -75,6 +78,9 b' resolving manifests'
75 overwrite None partial False
78 overwrite None partial False
76 ancestor 1831e14459c4 local e45c8b14af55+ remote f94576341bcf
79 ancestor 1831e14459c4 local e45c8b14af55+ remote f94576341bcf
77 .hgsubstate: versions differ -> m
80 .hgsubstate: versions differ -> m
81 subrepo merge e45c8b14af55+ f94576341bcf 1831e14459c4
82 subrepo t: both sides changed, merge with t:7af322bc1198a32402fe903e0b7ebcfc5c9bf8f4
83 merging subrepo t
78 searching for copies back to rev 2
84 searching for copies back to rev 2
79 resolving manifests
85 resolving manifests
80 overwrite None partial False
86 overwrite None partial False
General Comments 0
You need to be logged in to leave comments. Login now