equal
deleted
inserted
replaced
108 (short(man), short(m1n), short(m2n))) |
108 (short(man), short(m1n), short(m2n))) |
109 |
109 |
110 merge = {} |
110 merge = {} |
111 get = {} |
111 get = {} |
112 remove = [] |
112 remove = [] |
|
113 forget = [] |
113 |
114 |
114 # construct a working dir manifest |
115 # construct a working dir manifest |
115 mw = m1.copy() |
116 mw = m1.copy() |
116 umap = dict.fromkeys(unknown) |
117 umap = dict.fromkeys(unknown) |
117 |
118 |
131 # If we're jumping between revisions (as opposed to merging), |
132 # If we're jumping between revisions (as opposed to merging), |
132 # and if neither the working directory nor the target rev has |
133 # and if neither the working directory nor the target rev has |
133 # the file, then we need to remove it from the dirstate, to |
134 # the file, then we need to remove it from the dirstate, to |
134 # prevent the dirstate from listing the file when it is no |
135 # prevent the dirstate from listing the file when it is no |
135 # longer in the manifest. |
136 # longer in the manifest. |
136 if not partial and linear_path and f not in m2: |
137 if linear_path and f not in m2: |
137 repo.dirstate.forget((f,)) |
138 forget.append(f) |
138 |
139 |
139 # Compare manifests |
140 # Compare manifests |
140 for f, n in mw.iteritems(): |
141 for f, n in mw.iteritems(): |
141 if partial and not partial(f): |
142 if partial and not partial(f): |
142 continue |
143 continue |
222 else: |
223 else: |
223 repo.ui.debug(_("local deleted %s\n") % f) |
224 repo.ui.debug(_("local deleted %s\n") % f) |
224 |
225 |
225 del mw, m1, m2, ma |
226 del mw, m1, m2, ma |
226 |
227 |
|
228 ### apply phase |
|
229 |
227 if overwrite: |
230 if overwrite: |
228 for f in merge: |
231 for f in merge: |
229 get[f] = merge[f][:2] |
232 get[f] = merge[f][:2] |
230 merge = {} |
233 merge = {} |
231 |
234 |
298 else: |
301 else: |
299 repo.dirstate.forget(remove) |
302 repo.dirstate.forget(remove) |
300 |
303 |
301 if not partial: |
304 if not partial: |
302 repo.dirstate.setparents(p1, p2) |
305 repo.dirstate.setparents(p1, p2) |
|
306 repo.dirstate.forget(forget) |
303 |
307 |
304 if show_stats: |
308 if show_stats: |
305 stats = ((len(get), _("updated")), |
309 stats = ((len(get), _("updated")), |
306 (len(merge) - len(unresolved), _("merged")), |
310 (len(merge) - len(unresolved), _("merged")), |
307 (len(remove), _("removed")), |
311 (len(remove), _("removed")), |