189 errcode = getattr(inst, 'errno', errno.ENOENT) |
189 errcode = getattr(inst, 'errno', errno.ENOENT) |
190 if error or errcode and errcode != errno.ENOENT: |
190 if error or errcode and errcode != errno.ENOENT: |
191 repo.ui.warn(_(b"trouble committing %s!\n") % uipathfn(f)) |
191 repo.ui.warn(_(b"trouble committing %s!\n") % uipathfn(f)) |
192 raise |
192 raise |
193 |
193 |
|
194 files = metadata.ChangingFiles(touched=touched, added=filesadded) |
194 # update manifest |
195 # update manifest |
195 removed = [f for f in removed if f in m1 or f in m2] |
196 removed = [f for f in removed if f in m1 or f in m2] |
196 drop = sorted([f for f in removed if f in m]) |
197 drop = sorted([f for f in removed if f in m]) |
197 for f in drop: |
198 for f in drop: |
198 del m[f] |
199 del m[f] |
199 if p2.rev() != nullrev: |
200 if p2.rev() == nullrev: |
|
201 files.update_removed(removed) |
|
202 else: |
200 rf = metadata.get_removal_filter(ctx, (p1, p2, m1, m2)) |
203 rf = metadata.get_removal_filter(ctx, (p1, p2, m1, m2)) |
201 removed = [f for f in removed if not rf(f)] |
204 for f in removed: |
202 |
205 if not rf(f): |
203 touched.extend(removed) |
206 files.mark_removed(f) |
204 |
207 |
205 files = metadata.ChangingFiles( |
|
206 touched=touched, added=filesadded, removed=removed |
|
207 ) |
|
208 mn = _commit_manifest(tr, linkrev, ctx, mctx, m, files.touched, added, drop) |
208 mn = _commit_manifest(tr, linkrev, ctx, mctx, m, files.touched, added, drop) |
209 |
209 |
210 return mn, files |
210 return mn, files |
211 |
211 |
212 |
212 |