##// END OF EJS Templates
merge: move partial filtering out of manifest merge
Matt Mackall -
r3162:a9e75b37 default
parent child Browse files
Show More
@@ -171,7 +171,12 b' def findcopies(repo, m1, m2, limit):'
171 171
172 172 return copy
173 173
174 def manifestmerge(ui, m1, m2, ma, overwrite, backwards, partial):
174 def filtermanifest(man, partial):
175 if partial:
176 for k in man.keys():
177 if not partial(k): del man[k]
178
179 def manifestmerge(ui, m1, m2, ma, overwrite, backwards):
175 180 """
176 181 Merge manifest m1 with m2 using ancestor ma and generate merge action list
177 182 """
@@ -187,13 +192,6 b' def manifestmerge(ui, m1, m2, ma, overwr'
187 192 ui.debug(" %s: %s -> %s\n" % (f, msg, m))
188 193 action.append((f, m) + args)
189 194
190 # Filter manifests
191 if partial:
192 for f in m1.keys():
193 if not partial(f): del m1[f]
194 for f in m2.keys():
195 if not partial(f): del m2[f]
196
197 195 # Compare manifests
198 196 for f, n in m1.iteritems():
199 197 if f in m2:
@@ -363,6 +361,8 b' def update(repo, node, branchmerge=False'
363 361 copy = {}
364 362
365 363 m1 = workingmanifest(repo, m1, status)
364 filtermanifest(m1, partial)
365 filtermanifest(m2, partial)
366 366
367 367 if not force:
368 368 checkunknown(repo, m2, status)
@@ -371,7 +371,7 b' def update(repo, node, branchmerge=False'
371 371 if not (backwards or overwrite):
372 372 copy = findcopies(repo, m1, m2, repo.changelog.rev(pa))
373 373
374 action += manifestmerge(repo.ui, m1, m2, ma, overwrite, backwards, partial)
374 action += manifestmerge(repo.ui, m1, m2, ma, overwrite, backwards)
375 375 del m1, m2, ma
376 376
377 377 ### apply phase
General Comments 0
You need to be logged in to leave comments. Login now