479 self.removed.add(fname) |
479 self.removed.add(fname) |
480 self.changed.add(fname) |
480 self.changed.add(fname) |
481 |
481 |
482 def close(self): |
482 def close(self): |
483 wctx = self.repo[None] |
483 wctx = self.repo[None] |
484 addremoved = set(self.changed) |
484 changed = set(self.changed) |
485 for src, dst in self.copied: |
485 for src, dst in self.copied: |
486 scmutil.dirstatecopy(self.ui, self.repo, wctx, src, dst) |
486 scmutil.dirstatecopy(self.ui, self.repo, wctx, src, dst) |
487 if self.removed: |
487 if self.removed: |
488 wctx.forget(sorted(self.removed)) |
488 wctx.forget(sorted(self.removed)) |
489 for f in self.removed: |
489 for f in self.removed: |
490 if f not in self.repo.dirstate: |
490 if f not in self.repo.dirstate: |
491 # File was deleted and no longer belongs to the |
491 # File was deleted and no longer belongs to the |
492 # dirstate, it was probably marked added then |
492 # dirstate, it was probably marked added then |
493 # deleted, and should not be considered by |
493 # deleted, and should not be considered by |
494 # addremove(). |
494 # marktouched(). |
495 addremoved.discard(f) |
495 changed.discard(f) |
496 if addremoved: |
496 if changed: |
497 cwd = self.repo.getcwd() |
497 scmutil.marktouched(self.repo, changed, self.similarity) |
498 if cwd: |
|
499 addremoved = [util.pathto(self.repo.root, cwd, f) |
|
500 for f in addremoved] |
|
501 scmutil.addremove(self.repo, addremoved, similarity=self.similarity) |
|
502 return sorted(self.changed) |
498 return sorted(self.changed) |
503 |
499 |
504 class filestore(object): |
500 class filestore(object): |
505 def __init__(self, maxsize=None): |
501 def __init__(self, maxsize=None): |
506 self.opener = None |
502 self.opener = None |
1395 ui.warn(pf + '\n') |
1391 ui.warn(pf + '\n') |
1396 printed_file = True |
1392 printed_file = True |
1397 ui.warn(line + '\n') |
1393 ui.warn(line + '\n') |
1398 finally: |
1394 finally: |
1399 if files: |
1395 if files: |
1400 cfiles = list(files) |
1396 scmutil.marktouched(repo, files, similarity) |
1401 cwd = repo.getcwd() |
|
1402 if cwd: |
|
1403 cfiles = [util.pathto(repo.root, cwd, f) |
|
1404 for f in cfiles] |
|
1405 scmutil.addremove(repo, cfiles, similarity=similarity) |
|
1406 code = fp.close() |
1397 code = fp.close() |
1407 if code: |
1398 if code: |
1408 raise PatchError(_("patch command failed: %s") % |
1399 raise PatchError(_("patch command failed: %s") % |
1409 util.explainexit(code)[0]) |
1400 util.explainexit(code)[0]) |
1410 return fuzz |
1401 return fuzz |