context: use `dirstate.set_tracked` in `context.add`
authorPierre-Yves David <pierre-yves.david@octobus.net>
Thu, 08 Jul 2021 00:58:44 +0200
changeset 47594 0cef28b121a4
parent 47593 f927ad5a4e2c
child 47595 14e2f4bd5f16
context: use `dirstate.set_tracked` in `context.add` This is the new shiny API. Differential Revision: https://phab.mercurial-scm.org/D11014
mercurial/context.py
mercurial/dirstate.py
--- a/mercurial/context.py	Thu Jul 08 03:03:34 2021 +0200
+++ b/mercurial/context.py	Thu Jul 08 00:58:44 2021 +0200
@@ -1701,12 +1701,8 @@
                         % uipath(f)
                     )
                     rejected.append(f)
-                elif ds[f] in b'amn':
+                elif not ds.set_tracked(f):
                     ui.warn(_(b"%s already tracked!\n") % uipath(f))
-                elif ds[f] == b'r':
-                    ds.normallookup(f)
-                else:
-                    ds.add(f)
             return rejected
 
     def forget(self, files, prefix=b""):
--- a/mercurial/dirstate.py	Thu Jul 08 03:03:34 2021 +0200
+++ b/mercurial/dirstate.py	Thu Jul 08 00:58:44 2021 +0200
@@ -85,7 +85,7 @@
 
 def requires_no_parents_change(func):
     def wrap(self, *args, **kwargs):
-        if not self.pendingparentchange():
+        if self.pendingparentchange():
             msg = 'calling `%s` inside of a parentchange context'
             msg %= func.__name__
             raise error.ProgrammingError(msg)