Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/patch.py @ 50100:e8c170a6571d
dirstate: use `dirstate.change_files` to scope the change in `import`
This is the way.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 14 Dec 2022 00:43:24 +0100 |
parents | 2e726c934fcd |
children | 1c810421a82f |
comparison
equal
deleted
inserted
replaced
50099:5cfc48354d0f | 50100:e8c170a6571d |
---|---|
568 super(workingbackend, self).unlink(fname) | 568 super(workingbackend, self).unlink(fname) |
569 self.removed.add(fname) | 569 self.removed.add(fname) |
570 self.changed.add(fname) | 570 self.changed.add(fname) |
571 | 571 |
572 def close(self): | 572 def close(self): |
573 wctx = self.repo[None] | 573 with self.repo.dirstate.changing_files(self.repo): |
574 changed = set(self.changed) | 574 wctx = self.repo[None] |
575 for src, dst in self.copied: | 575 changed = set(self.changed) |
576 scmutil.dirstatecopy(self.ui, self.repo, wctx, src, dst) | 576 for src, dst in self.copied: |
577 if self.removed: | 577 scmutil.dirstatecopy(self.ui, self.repo, wctx, src, dst) |
578 wctx.forget(sorted(self.removed)) | 578 if self.removed: |
579 for f in self.removed: | 579 wctx.forget(sorted(self.removed)) |
580 if f not in self.repo.dirstate: | 580 for f in self.removed: |
581 # File was deleted and no longer belongs to the | 581 if f not in self.repo.dirstate: |
582 # dirstate, it was probably marked added then | 582 # File was deleted and no longer belongs to the |
583 # deleted, and should not be considered by | 583 # dirstate, it was probably marked added then |
584 # marktouched(). | 584 # deleted, and should not be considered by |
585 changed.discard(f) | 585 # marktouched(). |
586 if changed: | 586 changed.discard(f) |
587 scmutil.marktouched(self.repo, changed, self.similarity) | 587 if changed: |
588 return sorted(self.changed) | 588 scmutil.marktouched(self.repo, changed, self.similarity) |
589 return sorted(self.changed) | |
589 | 590 |
590 | 591 |
591 class filestore: | 592 class filestore: |
592 def __init__(self, maxsize=None): | 593 def __init__(self, maxsize=None): |
593 self.opener = None | 594 self.opener = None |