From patchwork Sat Oct 2 15:05:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D11570: dirstatemap: create `_dirs_incr/_dirs_decr` methods on the common class From: phabricator X-Patchwork-Id: 49894 Message-Id: To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Sat, 2 Oct 2021 15:05:11 +0000 marmoute created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY The Rust wrapper does not need them. However having a default, no-op, implementation will help use to write code used by both implementation. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mercurial-scm.org/D11570 AFFECTED FILES mercurial/dirstatemap.py CHANGE DETAILS To: marmoute, #hg-reviewers Cc: mercurial-patches, mercurial-devel diff --git a/mercurial/dirstatemap.py b/mercurial/dirstatemap.py --- a/mercurial/dirstatemap.py +++ b/mercurial/dirstatemap.py @@ -79,6 +79,25 @@ def __getitem__(self, item): return self._map[item] + ### sub-class utility method + # + # Use to allow for generic implementation of some method while still coping + # with minor difference between implementation. + + def _dirs_incr(self, filename, old_entry=None): + """incremente the dirstate counter if applicable + + This might be a no-op for some subclass who deal with directory + tracking in a different way. + """ + + def _dirs_decr(self, filename, old_entry=None, remove_variant=False): + """decremente the dirstate counter if applicable + + This might be a no-op for some subclass who deal with directory + tracking in a different way. + """ + class dirstatemap(_dirstatemapcommon): """Map encapsulating the dirstate's contents.