[Bug 3521] New: largefiles will "stat" ".hgignored" files
bugzilla-daemon at bz.selenic.com
bugzilla-daemon at bz.selenic.com
Sun Jul 1 18:57:16 CDT 2012
http://bz.selenic.com/show_bug.cgi?id=3521
Priority: normal
Bug ID: 3521
CC: mercurial-devel at selenic.com, natosha at gmail.com
Assignee: bugzilla at selenic.com
Summary: largefiles will "stat" ".hgignored" files
Severity: bug
Classification: Unclassified
OS: All
Reporter: jcea at jcea.es
Hardware: PC
Status: UNCONFIRMED
Version: 2.2.2
Component: largefiles
Product: Mercurial
".hgignore" file allows to prune directories, so effectively ignoring their
content. This is a massive performance feature when dealing, for instance, with
"build" directories.
But when "largefiles" extension is enabled, Mercurial will ignore ".hgignore"
content and will STAT *EVERYTHING*, recursively. This is a huge performance
regression, making mercurial unusable in some environments where previously
results were instantaneous.
Discussion: http://selenic.com/pipermail/mercurial/2012-July/043501.html
To reproduce:
1. Create a new directory and go inside.
2. Create a new repository with "hg init".
3. Create file ".hgignore" with content "^z$".
4. Create a directory called "z".
5. Create a new file in "z/a.txt".
6. Do "hg status" and verify that "z/a.txt" is ignored, as it should.
7. Under linux, do "strace -f hg status 2>&1 |grep a.txt" and confirm
than mercurial is STATing that file. Under Solaris you can use "truss"
instead of "strace".
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list