diff --git a/mercurial/context.py b/mercurial/context.py index dfb836a31b61db052bbb0edbc74809bf97e10074_bWVyY3VyaWFsL2NvbnRleHQucHk=..15c6eb0a51bd734e79c01403c129ce9a0543c080_bWVyY3VyaWFsL2NvbnRleHQucHk= 100644 --- a/mercurial/context.py +++ b/mercurial/context.py @@ -271,7 +271,7 @@ r = self._repo return matchmod.match(r.root, r.getcwd(), pats, include, exclude, default, - auditor=r.auditor, ctx=self, + auditor=r.nofsauditor, ctx=self, listsubrepos=listsubrepos, badfn=badfn) def diff(self, ctx2=None, match=None, **opts): diff --git a/tests/test-audit-path.t b/tests/test-audit-path.t index dfb836a31b61db052bbb0edbc74809bf97e10074_dGVzdHMvdGVzdC1hdWRpdC1wYXRoLnQ=..15c6eb0a51bd734e79c01403c129ce9a0543c080_dGVzdHMvdGVzdC1hdWRpdC1wYXRoLnQ= 100644 --- a/tests/test-audit-path.t +++ b/tests/test-audit-path.t @@ -27,6 +27,45 @@ abort: path 'b/b' traverses symbolic link 'b' (glob) [255] + $ hg commit -m 'add symlink b' + + +Test symlink traversing when accessing history: +----------------------------------------------- + +(build a changeset where the path exists as a directory) + + $ hg up 0 + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ mkdir b + $ echo c > b/a + $ hg add b/a + $ hg ci -m 'add directory b' + created new head + +Test that hg cat does not do anything wrong the working copy has 'b' as directory + + $ hg cat b/a + c + $ hg cat -r "desc(directory)" b/a + c + $ hg cat -r "desc(symlink)" b/a + b/a: no such file in rev bc151a1f53bd + [1] + +Test that hg cat does not do anything wrong the working copy has 'b' as a symlink (issue4749) + + $ hg up 'desc(symlink)' + 1 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg cat b/a + b/a: no such file in rev bc151a1f53bd + [1] + $ hg cat -r "desc(directory)" b/a + c + $ hg cat -r "desc(symlink)" b/a + b/a: no such file in rev bc151a1f53bd + [1] + #endif