Mercurial > hg
annotate mercurial/help/hgignore.5.txt @ 24735:07200e3332a1
tags: extract .hgtags filenodes cache to a standalone file
Resolution of .hgtags filenodes values has historically been a
performance pain point for large repositories, where reading individual
manifests can take over 100ms. Multiplied by hundreds or even thousands
of heads and resolving .hgtags filenodes becomes a performance issue.
This patch establishes a standalone cache file holding the .hgtags
filenodes for each changeset. After this patch, the .hgtags filenode
for any particular changeset should only have to be computed once
during the lifetime of the repository.
The introduced hgtagsfnodes1 cache file is modeled after the rev branch
cache: the cache is effectively an array of entries consisting of a
changeset fragment and the filenode for a revision. The file grows in
proportion to the length of the repository (24 bytes per changeset) and
is truncated when the repository is stripped. The file is not written
unless tag info is requested and tags have changed since last time.
This patch partially addresses issue4550. Future patches will split the
"tags" cache file into per-filter files and will refactor the cache
format to not capture the .hgtags fnodes, as these are now stored in
the hgtagsfnodes1 cache. This patch is capable of standing alone. We
should not have to wait on the tags cache filter split and format
refactor for this patch to land.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 15 Apr 2015 17:42:38 -0400 |
parents | 8fe5fc8d7b8e |
children | f6d73c8756e2 |
rev | line source |
---|---|
9158
d6eecafaf12f
doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents:
9127
diff
changeset
|
1 ========== |
d6eecafaf12f
doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents:
9127
diff
changeset
|
2 hgignore |
d6eecafaf12f
doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents:
9127
diff
changeset
|
3 ========== |
2209
956e329f9e13
document hgignore syntax in new file doc/hgignore.5.txt.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
4 |
9158
d6eecafaf12f
doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents:
9127
diff
changeset
|
5 --------------------------------- |
d6eecafaf12f
doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents:
9127
diff
changeset
|
6 syntax for Mercurial ignore files |
d6eecafaf12f
doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents:
9127
diff
changeset
|
7 --------------------------------- |
d6eecafaf12f
doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents:
9127
diff
changeset
|
8 |
d6eecafaf12f
doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents:
9127
diff
changeset
|
9 :Author: Vadim Gelfer <vadim.gelfer@gmail.com> |
d6eecafaf12f
doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents:
9127
diff
changeset
|
10 :Organization: Mercurial |
d6eecafaf12f
doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents:
9127
diff
changeset
|
11 :Manual section: 5 |
d6eecafaf12f
doc: use reStructuredText for man and HTML pages
Martin Geisler <mg@lazybytes.net>
parents:
9127
diff
changeset
|
12 :Manual group: Mercurial Manual |
2209
956e329f9e13
document hgignore syntax in new file doc/hgignore.5.txt.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
13 |
19426
e43184680461
doc: make man and html from translated documents
Takumi IINO <trot.thunder@gmail.com>
parents:
17267
diff
changeset
|
14 .. include:: hgignore.5.gendoc.txt |
2209
956e329f9e13
document hgignore syntax in new file doc/hgignore.5.txt.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
15 |
9792
dd1a95ccbe07
doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents:
9624
diff
changeset
|
16 Author |
17267
979b107eaea2
doc: unify section level between help topics
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16548
diff
changeset
|
17 ====== |
2209
956e329f9e13
document hgignore syntax in new file doc/hgignore.5.txt.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
18 Vadim Gelfer <vadim.gelfer@gmail.com> |
956e329f9e13
document hgignore syntax in new file doc/hgignore.5.txt.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
19 |
956e329f9e13
document hgignore syntax in new file doc/hgignore.5.txt.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
20 Mercurial was written by Matt Mackall <mpm@selenic.com>. |
956e329f9e13
document hgignore syntax in new file doc/hgignore.5.txt.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
21 |
9792
dd1a95ccbe07
doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents:
9624
diff
changeset
|
22 See Also |
17267
979b107eaea2
doc: unify section level between help topics
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16548
diff
changeset
|
23 ======== |
9162
2399362b3bb0
doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents:
9161
diff
changeset
|
24 |hg(1)|_, |hgrc(5)|_ |
2209
956e329f9e13
document hgignore syntax in new file doc/hgignore.5.txt.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
25 |
9792
dd1a95ccbe07
doc: use titlecase in man page section titles
Martin Geisler <mg@lazybytes.net>
parents:
9624
diff
changeset
|
26 Copying |
17267
979b107eaea2
doc: unify section level between help topics
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
16548
diff
changeset
|
27 ======= |
2209
956e329f9e13
document hgignore syntax in new file doc/hgignore.5.txt.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
28 This manual page is copyright 2006 Vadim Gelfer. |
24191 | 29 Mercurial is copyright 2005-2015 Matt Mackall. |
2209
956e329f9e13
document hgignore syntax in new file doc/hgignore.5.txt.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
30 Free use of this software is granted under the terms of the GNU General |
10263 | 31 Public License version 2 or any later version. |
9162
2399362b3bb0
doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents:
9161
diff
changeset
|
32 |
2399362b3bb0
doc: link man pages to one another
Martin Geisler <mg@lazybytes.net>
parents:
9161
diff
changeset
|
33 .. include:: common.txt |
14044
0528b69f8db4
help: move hgignore man page into built-in help (issue2769)
Yun Lee <yun.lee.bj@gmail.com>
parents:
10263
diff
changeset
|
34 |