# HG changeset patch # User Pierre-Yves David # Date 2021-07-18 23:17:56 # Node ID cc438f793b98d6c14c44cf3d69044bf6343ec84e # Parent b66ae4468c9ab798083b900018b5f1803f0b0a09 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 diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -630,7 +630,19 @@ def dorecord( # 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.