[Updated] D11792: win32text: drop associated dirstate cache information on revert
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Wed Dec 1 15:23:14 UTC 2021
Closed by commit rHGf5dea753fe4e: win32text: drop associated dirstate cache information on revert (authored by marmoute).
This revision was automatically updated to reflect the committed changes.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D11792?vs=31114&id=31254
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D11792/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D11792
AFFECTED FILES
hgext/narrow/narrowdirstate.py
hgext/win32text.py
tests/test-win32text.t
CHANGE DETAILS
diff --git a/tests/test-win32text.t b/tests/test-win32text.t
--- a/tests/test-win32text.t
+++ b/tests/test-win32text.t
@@ -418,7 +418,6 @@
$ hg revert -a
reverting linefeed
$ hg st -q
- M linefeed (known-bad-output !)
$ cat linefeed
% just linefeed\r (esc)
diff --git a/hgext/win32text.py b/hgext/win32text.py
--- a/hgext/win32text.py
+++ b/hgext/win32text.py
@@ -47,6 +47,8 @@
from mercurial.i18n import _
from mercurial.node import short
from mercurial import (
+ cmdutil,
+ extensions,
pycompat,
registrar,
)
@@ -215,6 +217,23 @@
repo.adddatafilter(name, fn)
+def wrap_revert(orig, repo, ctx, names, uipathfn, actions, *args, **kwargs):
+ # reset dirstate cache for file we touch
+ ds = repo.dirstate
+ with ds.parentchange():
+ for filename in actions[b'revert'][0]:
+ entry = ds.get_entry(filename)
+ if entry is not None:
+ if entry.p1_tracked:
+ ds.update_file(
+ filename,
+ entry.tracked,
+ p1_tracked=True,
+ p2_info=entry.p2_info,
+ )
+ return orig(repo, ctx, names, uipathfn, actions, *args, **kwargs)
+
+
def extsetup(ui):
# deprecated config: win32text.warn
if ui.configbool(b'win32text', b'warn'):
@@ -224,3 +243,4 @@
b"https://mercurial-scm.org/wiki/Win32TextExtension\n"
)
)
+ extensions.wrapfunction(cmdutil, '_performrevert', wrap_revert)
diff --git a/hgext/narrow/narrowdirstate.py b/hgext/narrow/narrowdirstate.py
--- a/hgext/narrow/narrowdirstate.py
+++ b/hgext/narrow/narrowdirstate.py
@@ -38,8 +38,8 @@
return super(narrowdirstate, self).normal(*args, **kwargs)
@_editfunc
- def set_tracked(self, *args):
- return super(narrowdirstate, self).set_tracked(*args)
+ def set_tracked(self, *args, **kwargs):
+ return super(narrowdirstate, self).set_tracked(*args, **kwargs)
@_editfunc
def set_untracked(self, *args):
To: marmoute, durin42, martinvonz, #hg-reviewers, Alphare
Cc: mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercurial-scm.org/pipermail/mercurial-patches/attachments/20211201/32a5f638/attachment-0001.html>
More information about the Mercurial-patches
mailing list