Mercurial > hg
comparison mercurial/dirstate.py @ 47599:cce51119bfe6
dirstate: add a `set_untracked` method for "hg remove"-like usage
This is a step further toward clarifying the semantic of various dirstate call.
See the justification for adding `set_tracked` for details.
Differential Revision: https://phab.mercurial-scm.org/D11019
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 08 Jul 2021 00:54:40 +0200 |
parents | 0cef28b121a4 |
children | e2e72daac90b |
comparison
equal
deleted
inserted
replaced
47598:305356a7ec99 | 47599:cce51119bfe6 |
---|---|
477 return True | 477 return True |
478 elif not entry.tracked: | 478 elif not entry.tracked: |
479 self.normallookup(filename) | 479 self.normallookup(filename) |
480 return True | 480 return True |
481 return False | 481 return False |
482 | |
483 @requires_no_parents_change | |
484 def set_untracked(self, filename): | |
485 """a "public" method for generic code to mark a file as untracked | |
486 | |
487 This function is to be called outside of "update/merge" case. For | |
488 example by a command like `hg remove X`. | |
489 | |
490 return True the file was previously tracked, False otherwise. | |
491 """ | |
492 entry = self._map.get(filename) | |
493 if entry is None: | |
494 return False | |
495 elif entry.added: | |
496 self._drop(filename) | |
497 return True | |
498 else: | |
499 self._remove(filename) | |
500 return True | |
482 | 501 |
483 @requires_parents_change | 502 @requires_parents_change |
484 def update_file_reference( | 503 def update_file_reference( |
485 self, | 504 self, |
486 filename, | 505 filename, |