D1157: context: audit paths before clearing unknown files and dirs

mbthomas (Mark Thomas) phabricator at mercurial-scm.org
Tue Oct 17 15:15:17 UTC 2017


mbthomas created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  Fix regression introduced in https://phab.mercurial-scm.org/D785.
  
  In some circumstances, context.clearunknown can be called before the path is
  audited. Audit the path before deleting any conflicting files.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D1157

AFFECTED FILES
  mercurial/context.py
  tests/test-audit-path.t

CHANGE DETAILS

diff --git a/tests/test-audit-path.t b/tests/test-audit-path.t
--- a/tests/test-audit-path.t
+++ b/tests/test-audit-path.t
@@ -124,8 +124,7 @@
   abort: path contains illegal component: ../test (glob)
   [255]
   $ cat ../test/file
-  cat: ../test/file: No such file or directory
-  [1]
+  data
 
 attack /tmp/test
 
diff --git a/mercurial/context.py b/mercurial/context.py
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -1940,6 +1940,7 @@
         """
         wvfs = self._repo.wvfs
         f = self._path
+        wvfs.audit(f)
         if wvfs.isdir(f) and not wvfs.islink(f):
             wvfs.rmtree(f, forcibly=True)
         for p in reversed(list(util.finddirs(f))):



To: mbthomas, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list