Show More
@@ -164,12 +164,7 b' def findcopies(repo, m1, m2, limit):' | |||
|
164 | 164 | |
|
165 | 165 | return copy |
|
166 | 166 | |
|
167 | def filtermanifest(man, partial): | |
|
168 | if partial: | |
|
169 | for k in man.keys(): | |
|
170 | if not partial(k): del man[k] | |
|
171 | ||
|
172 | def manifestmerge(ui, m1, m2, ma, overwrite, backwards): | |
|
167 | def manifestmerge(ui, m1, m2, ma, overwrite, backwards, partial): | |
|
173 | 168 | """ |
|
174 | 169 | Merge manifest m1 with m2 using ancestor ma and generate merge action list |
|
175 | 170 | """ |
@@ -187,6 +182,8 b' def manifestmerge(ui, m1, m2, ma, overwr' | |||
|
187 | 182 | |
|
188 | 183 | # Compare manifests |
|
189 | 184 | for f, n in m1.iteritems(): |
|
185 | if partial and not partial(f): | |
|
186 | continue | |
|
190 | 187 | if f in m2: |
|
191 | 188 | # are files different? |
|
192 | 189 | if n != m2[f]: |
@@ -206,7 +203,6 b' def manifestmerge(ui, m1, m2, ma, overwr' | |||
|
206 | 203 | elif m1.execf(f) != m2.execf(f): |
|
207 | 204 | if overwrite or fmerge(f) != m1.execf(f): |
|
208 | 205 | act("update permissions", f, "e", m2.execf(f)) |
|
209 | del m2[f] | |
|
210 | 206 | elif f in ma: |
|
211 | 207 | if n != ma[f] and not overwrite: |
|
212 | 208 | if ui.prompt( |
@@ -221,6 +217,10 b' def manifestmerge(ui, m1, m2, ma, overwr' | |||
|
221 | 217 | act("remote deleted", f, "r") |
|
222 | 218 | |
|
223 | 219 | for f, n in m2.iteritems(): |
|
220 | if partial and not partial(f): | |
|
221 | continue | |
|
222 | if f in m1: | |
|
223 | continue | |
|
224 | 224 | if f in ma: |
|
225 | 225 | if overwrite or backwards: |
|
226 | 226 | act("recreating", f, "g", m2.execf(f), n) |
@@ -337,8 +337,8 b' def update(repo, node, branchmerge=False' | |||
|
337 | 337 | if wc.modified() or wc.added() or wc.removed(): |
|
338 | 338 | raise util.Abort(_("outstanding uncommitted changes")) |
|
339 | 339 | |
|
340 |
m1 = wc.manifest() |
|
|
341 |
m2 = p2.manifest() |
|
|
340 | m1 = wc.manifest() | |
|
341 | m2 = p2.manifest() | |
|
342 | 342 | ma = pa.manifest() |
|
343 | 343 | |
|
344 | 344 | # resolve the manifest to determine which files |
@@ -351,9 +351,6 b' def update(repo, node, branchmerge=False' | |||
|
351 | 351 | action = [] |
|
352 | 352 | copy = {} |
|
353 | 353 | |
|
354 | filtermanifest(m1, partial) | |
|
355 | filtermanifest(m2, partial) | |
|
356 | ||
|
357 | 354 | if not force: |
|
358 | 355 | checkunknown(repo, m2, wc) |
|
359 | 356 | if not branchmerge: |
@@ -361,8 +358,7 b' def update(repo, node, branchmerge=False' | |||
|
361 | 358 | if not (backwards or overwrite): |
|
362 | 359 | copy = findcopies(repo, m1, m2, pa.rev()) |
|
363 | 360 | |
|
364 | action += manifestmerge(repo.ui, m1, m2, ma, overwrite, backwards) | |
|
365 | del m1, m2, ma | |
|
361 | action += manifestmerge(repo.ui, m1, m2, ma, overwrite, backwards, partial) | |
|
366 | 362 | |
|
367 | 363 | ### apply phase |
|
368 | 364 |
General Comments 0
You need to be logged in to leave comments.
Login now