Mercurial > hg-stable
changeset 48431:4237be881bb6
status: adapt the "keyword" extensions to gather stats at lookup time
See main core code for details.
We don't factor the code in a common function yet, because we will have to adapt
a bit more things in the keyword case at the end of the series.
Differential Revision: https://phab.mercurial-scm.org/D11787
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 18 Nov 2021 22:49:05 +0100 |
parents | 991e6f728b50 |
children | 9f1b9e128788 |
files | hgext/keyword.py |
diffstat | 1 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/keyword.py Thu Nov 18 22:46:50 2021 +0100 +++ b/hgext/keyword.py Thu Nov 18 22:49:05 2021 +0100 @@ -116,6 +116,7 @@ dateutil, stringutil, ) +from mercurial.dirstateutils import timestamp cmdtable = {} command = registrar.command(cmdtable) @@ -326,6 +327,7 @@ msg = _(b'overwriting %s expanding keywords\n') else: msg = _(b'overwriting %s shrinking keywords\n') + wctx = self.repo[None] for f in candidates: if self.restrict: data = self.repo.file(f).read(mf[f]) @@ -356,7 +358,12 @@ fp.write(data) fp.close() if kwcmd: - self.repo.dirstate.set_clean(f) + s = wctx[f].lstat() + mode = s.st_mode + size = s.st_size + mtime = timestamp.mtime_of(s) + cache_data = (mode, size, mtime) + self.repo.dirstate.set_clean(f, cache_data) elif self.postcommit: self.repo.dirstate.update_file_p1(f, p1_tracked=True)