record: use `update_file` instead of `normallookup`
We are cheating a bit to enforce we are in a pending change context. This will
have to be cleaned up later.
The end goal is reached, we are now using the newer, more semantic API.
Differential Revision: https://phab.mercurial-scm.org/D11172
--- a/mercurial/cmdutil.py Mon Jul 19 05:43:43 2021 +0200
+++ b/mercurial/cmdutil.py Mon Jul 19 01:17:56 2021 +0200
@@ -630,7 +630,19 @@
# without normallookup, restoring timestamp
# may cause partially committed files
# to be treated as unmodified
- dirstate.normallookup(realname)
+
+ # XXX-PENDINGCHANGE: We should clarify the context in
+ # which this function is called to make sure it
+ # already called within a `pendingchange`, However we
+ # are taking a shortcut here in order to be able to
+ # quickly deprecated the older API.
+ with dirstate.parentchange():
+ dirstate.update_file(
+ realname,
+ p1_tracked=True,
+ wc_tracked=True,
+ possibly_dirty=True,
+ )
# copystat=True here and above are a hack to trick any
# editors that have f open that we haven't modified them.