Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/patch.py @ 48111:e0d566f3ffce
dirstate-item: use `any_tracked` instead of `state` to apply patches
Differential Revision: https://phab.mercurial-scm.org/D11536
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 29 Sep 2021 15:40:13 +0200 |
parents | d55b71393907 |
children | 6a454e7053a1 |
comparison
equal
deleted
inserted
replaced
48110:ba79d99ec1ae | 48111:e0d566f3ffce |
---|---|
548 self.removed = set() | 548 self.removed = set() |
549 self.changed = set() | 549 self.changed = set() |
550 self.copied = [] | 550 self.copied = [] |
551 | 551 |
552 def _checkknown(self, fname): | 552 def _checkknown(self, fname): |
553 if self.repo.dirstate[fname] == b'?' and self.exists(fname): | 553 if not self.repo.dirstate.get_entry(fname).any_tracked and self.exists( |
554 fname | |
555 ): | |
554 raise PatchError(_(b'cannot patch %s: file is not tracked') % fname) | 556 raise PatchError(_(b'cannot patch %s: file is not tracked') % fname) |
555 | 557 |
556 def setfile(self, fname, data, mode, copysource): | 558 def setfile(self, fname, data, mode, copysource): |
557 self._checkknown(fname) | 559 self._checkknown(fname) |
558 super(workingbackend, self).setfile(fname, data, mode, copysource) | 560 super(workingbackend, self).setfile(fname, data, mode, copysource) |