Mercurial > hg > mercurial-crew-with-dirclash
annotate .hgignore @ 872:9a0af739cf55
dirstate walking optimizations
The repo walking code introduces a number of calls to dirstate.map.copy(),
significantly slowing down the walk on large trees. When a list of
files is passed to the walking code, we should only look at map entries
relevant to the file list passed in.
dirstate.filterfiles() is added to return a subset of the dirstate map.
The subset includes in files passed in, and if one of the files requested
is actually a directory, it includes any files inside that directory tree.
This brings the time for hg diff Makefile down from 1.7s to .3s on
a linux kernel repo.
Also, the diff command was unconditionally calling makewalk, leading
to an extra pass through repo.changes. This patch avoids the call
to makewalk when commands.diff isn't given a list of patterns, cutting
the time for hg diff (with no args) in half.
Index: mine/mercurial/hg.py
===================================================================
author | mason@suse.com |
---|---|
date | Fri, 12 Aug 2005 09:57:56 -0800 |
parents | d2bf8b9534b1 |
children | c2e77581bc84 d4cb383e7de7 62ec665759f2 01215ad04283 |
rev | line source |
---|---|
717
a51e3ded642d
Be even more specific with .hgignore regexps, added *.swp files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
716
diff
changeset
|
1 \.orig$ |
a51e3ded642d
Be even more specific with .hgignore regexps, added *.swp files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
716
diff
changeset
|
2 \.rej$ |
a51e3ded642d
Be even more specific with .hgignore regexps, added *.swp files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
716
diff
changeset
|
3 ~$ |
a51e3ded642d
Be even more specific with .hgignore regexps, added *.swp files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
716
diff
changeset
|
4 \.so$ |
a51e3ded642d
Be even more specific with .hgignore regexps, added *.swp files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
716
diff
changeset
|
5 \.pyc$ |
a51e3ded642d
Be even more specific with .hgignore regexps, added *.swp files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
716
diff
changeset
|
6 \.swp$ |
850
d2bf8b9534b1
Add temporary documentation files and profiling output to .hgignore
Samuel Tardieu <sam@rfc1149.net>
parents:
814
diff
changeset
|
7 \.prof$ |
794
cdf61d3d3904
Ignore test error files, protect dot in .pc/
Thomas Arendsen Hein <thomas@intevation.de>
parents:
740
diff
changeset
|
8 ^tests/.*\.err$ |
717
a51e3ded642d
Be even more specific with .hgignore regexps, added *.swp files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
716
diff
changeset
|
9 ^build/ |
a51e3ded642d
Be even more specific with .hgignore regexps, added *.swp files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
716
diff
changeset
|
10 ^dist/ |
850
d2bf8b9534b1
Add temporary documentation files and profiling output to .hgignore
Samuel Tardieu <sam@rfc1149.net>
parents:
814
diff
changeset
|
11 ^doc/.*\.[0-9](\.(x|ht)ml)?$ |
717
a51e3ded642d
Be even more specific with .hgignore regexps, added *.swp files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
716
diff
changeset
|
12 ^MANIFEST$ |
794
cdf61d3d3904
Ignore test error files, protect dot in .pc/
Thomas Arendsen Hein <thomas@intevation.de>
parents:
740
diff
changeset
|
13 ^\.pc/ |
717
a51e3ded642d
Be even more specific with .hgignore regexps, added *.swp files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
716
diff
changeset
|
14 ^patches/ |
a51e3ded642d
Be even more specific with .hgignore regexps, added *.swp files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
716
diff
changeset
|
15 ^mercurial/__version__.py$ |