Mercurial > hg
annotate .hgignore @ 43252:32187ae9eeb3
copies: simplify the handling of merges
Instead of stacking copies for both parent on the head, we move copies outside
of the heap into a dedicated dictionary. The two side of merge can we merged
sooner, making the algorithm simpler.
This simplicity reflect in the heap structure and speed up the execution for
copies involving a large amount of merges.
Here are timing for perfpathcopies of multiple revision pairs.
- filelog: timing using filelog (with the introrev condition dropped)
- base: this series base
- before: the parent of this changeset
- after: this changeset
revision: large amount; added files: large amount; rename small amount; c3b14617fbd7 9ba6ab77fd29
filelog: ! wall 3.679613 comb 3.680000 user 3.580000 sys 0.100000 (median of 3)
base: ! wall 8.884369 comb 8.880000 user 8.850000 sys 0.030000 (median of 3)
before: ! wall 8.443747 comb 8.420000 user 8.410000 sys 0.010000 (median of 3)
after: ! wall 4.697917 comb 4.690000 user 4.660000 sys 0.030000 (median of 3)
revision: large amount; added files: small amount; rename small amount; c3b14617fbd7 f650a9b140d2
filelog: ! wall 0.003357 comb 0.010000 user 0.010000 sys 0.000000 (median of 781)
base: ! wall 12.398524 comb 12.400000 user 12.330000 sys 0.070000 (median of 3)
before: ! wall 10.852593 comb 10.850000 user 10.800000 sys 0.050000 (median of 3)
after: ! wall 6.750832 comb 6.750000 user 6.640000 sys 0.110000 (median of 3)
revision: large amount; added files: large amount; rename large amount; 08ea3258278e d9fa043f30c0
filelog: ! wall 2.754687 comb 2.760000 user 2.650000 sys 0.110000 (median of 4)
base: ! wall 1.423166 comb 1.420000 user 1.400000 sys 0.020000 (median of 8)
before: ! wall 1.068041 comb 1.060000 user 1.050000 sys 0.010000 (median of 10)
after: ! wall 1.045916 comb 1.050000 user 1.040000 sys 0.010000 (median of 10)
revision: small amount; added files: large amount; rename large amount; df6f7a526b60 a83dc6a2d56f
filelog: ! wall 1.552293 comb 1.550000 user 1.510000 sys 0.040000 (median of 6
base: ! wall 0.022662 comb 0.020000 user 0.020000 sys 0.000000 (median of 128)
before: ! wall 0.021111 comb 0.020000 user 0.020000 sys 0.000000 (median of 139)
after: ! wall 0.021577 comb 0.020000 user 0.020000 sys 0.000000 (median of 138)
revision: small amount; added files: large amount; rename small amount; 4aa4e1f8e19a 169138063d63
filelog: ! wall 1.500983 comb 1.500000 user 1.420000 sys 0.080000 (median of 7)
base: ! wall 0.006956 comb 0.010000 user 0.010000 sys 0.000000 (median of 392)
before: ! wall 0.004356 comb 0.010000 user 0.010000 sys 0.000000 (median of 675)
after: ! wall 0.004329 comb 0.000000 user 0.000000 sys 0.000000 (median of 682)
revision: small amount; added files: small amount; rename small amount; 4bc173b045a6 964879152e2e
filelog: ! wall 0.011745 comb 0.020000 user 0.020000 sys 0.000000 (median of 250)
base: ! wall 0.000156 comb 0.000000 user 0.000000 sys 0.000000 (median of 17180)
before: ! wall 0.000100 comb 0.000000 user 0.000000 sys 0.000000 (median of 26912)
after: ! wall 0.000105 comb 0.000000 user 0.000000 sys 0.000000 (median of 25689)
revision: medium amount; added files: large amount; rename medium amount; c95f1ced15f2 2c68e87c3efe
filelog: ! wall 3.228230 comb 3.230000 user 3.110000 sys 0.120000 (median of 4)
base: ! wall 0.997640 comb 1.000000 user 0.980000 sys 0.020000 (median of 10)
before: ! wall 0.778291 comb 0.780000 user 0.780000 sys 0.000000 (median of 13)
after: ! wall 0.706594 comb 0.710000 user 0.710000 sys 0.000000 (median of 15)
revision: medium amount; added files: medium amount; rename small amount; d343da0c55a8 d7746d32bf9d
filelog: ! wall 1.052501 comb 1.060000 user 1.040000 sys 0.020000 (median of 10
base: ! wall 0.214519 comb 0.220000 user 0.220000 sys 0.000000 (median of 45)
before: ! wall 0.160804 comb 0.160000 user 0.160000 sys 0.000000 (median of 62)
after: ! wall 0.163736 comb 0.160000 user 0.160000 sys 0.000000 (median of 60)
Differential Revision: https://phab.mercurial-scm.org/D7069
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 02 Oct 2019 13:43:27 -0400 |
parents | aab43d5861bb |
children | 8492c6293c31 |
rev | line source |
---|---|
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
1 syntax: glob |
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
2 |
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
3 *.elc |
19991
ce5d711475a3
Makefile: do update on a temporary copy of a po file
Simon Heimberg <simohe@besonet.ch>
parents:
19426
diff
changeset
|
4 *.tmp |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
5 *.orig |
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
6 *.rej |
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
7 *~ |
5019
e6cc4d4f5a81
Ignore mergebackup files generated by mpatch
Bryan O'Sullivan <bos@serpentine.com>
parents:
2987
diff
changeset
|
8 *.mergebackup |
2341
dbbe7f72d15a
contrib: add restricted shell.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2151
diff
changeset
|
9 *.o |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
10 *.so |
13643
537899158396
hgignore: ignore dll files generated under cygwin
Craig Leres <leres@ee.lbl.gov>
parents:
13346
diff
changeset
|
11 *.dll |
17115
b52d08b930c5
hgignore: simply ignore all *.exe's everywhere
Adrian Buehlmann <adrian@cadifra.com>
parents:
16537
diff
changeset
|
12 *.exe |
6551 | 13 *.pyd |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
14 *.pyc |
13346
91fe769ac84e
hgignore: ignore more bytecode
Simon Heimberg <simohe@besonet.ch>
parents:
11380
diff
changeset
|
15 *.pyo |
91fe769ac84e
hgignore: ignore more bytecode
Simon Heimberg <simohe@besonet.ch>
parents:
11380
diff
changeset
|
16 *$py.class |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
17 *.swp |
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
18 *.prof |
17274
2426ec322cd1
hgignore: ignore zip files
Adrian Buehlmann <adrian@cadifra.com>
parents:
17115
diff
changeset
|
19 *.zip |
8147
441dc7becd43
win32text: be more careful about rejecting violating changesets
Bryan O'Sullivan <bos@serpentine.com>
parents:
7706
diff
changeset
|
20 \#*\# |
441dc7becd43
win32text: be more careful about rejecting violating changesets
Bryan O'Sullivan <bos@serpentine.com>
parents:
7706
diff
changeset
|
21 .\#* |
39491
4ca7a67c94c8
sparse-revlog: add a test checking revlog deltas for a churning file
Boris Feld <boris.feld@octobus.net>
parents:
38459
diff
changeset
|
22 tests/artifacts/cache/big-file-churn.hg |
2068
4a49daa3a40c
let run-tests run optional code coverage tests.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1817
diff
changeset
|
23 tests/.coverage* |
27634
a1eff44c432b
tests: write recent run times to a file named tests/.testtimes
Bryan O'Sullivan <bos@serpentine.com>
parents:
22945
diff
changeset
|
24 tests/.testtimes* |
28255
f75f7d39cca3
testing: generate tests operations using Hypothesis
David R. MacIver <david@drmaciver.com>
parents:
28061
diff
changeset
|
25 tests/.hypothesis |
f75f7d39cca3
testing: generate tests operations using Hypothesis
David R. MacIver <david@drmaciver.com>
parents:
28061
diff
changeset
|
26 tests/hypothesis-generated |
2151
0ce3cd330996
Ignore annotated coverage output of run-tests.py -C
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2068
diff
changeset
|
27 tests/annotated |
35190
bd8875b6473c
run-tests: mechanism to report exceptions during test execution
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33033
diff
changeset
|
28 tests/exceptions |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
29 tests/*.err |
15859
44a371823f83
tests: add htmlcov option
Markus Zapke-Gründemann <info@keimlink.de>
parents:
15702
diff
changeset
|
30 tests/htmlcov |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
31 build |
28061
3753d2e1759b
hgignore: ignore chg binary
Yuya Nishihara <yuya@tcha.org>
parents:
27634
diff
changeset
|
32 contrib/chg/chg |
2341
dbbe7f72d15a
contrib: add restricted shell.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2151
diff
changeset
|
33 contrib/hgsh/hgsh |
21874
8da01b6e7b49
contrib/vagrant: use Vagrant for running tests on virtual machine
anatoly techtonik <techtonik@gmail.com>
parents:
21560
diff
changeset
|
34 contrib/vagrant/.vagrant |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
35 dist |
21560
a9e1ab2da30d
packaging: move output directory from build/ to packages/
Matt Mackall <mpm@selenic.com>
parents:
19991
diff
changeset
|
36 packages |
19426
e43184680461
doc: make man and html from translated documents
Takumi IINO <trot.thunder@gmail.com>
parents:
17732
diff
changeset
|
37 doc/common.txt |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
38 doc/*.[0-9] |
19426
e43184680461
doc: make man and html from translated documents
Takumi IINO <trot.thunder@gmail.com>
parents:
17732
diff
changeset
|
39 doc/*.[0-9].txt |
1817
e02fea13c69d
Ignore generated documentation
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1270
diff
changeset
|
40 doc/*.[0-9].gendoc.txt |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
41 doc/*.[0-9].{x,ht}ml |
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
42 MANIFEST |
14560
0980239cb20c
hgignore: ignore MANIFEST.in (generated since 2ce7dfe17bc5)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
14538
diff
changeset
|
43 MANIFEST.in |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
44 patches |
28430
17b85d739b62
setup: create a module for the modulepolicy
timeless <timeless@mozdev.org>
parents:
28255
diff
changeset
|
45 mercurial/__modulepolicy__.py |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
46 mercurial/__version__.py |
17732
93d97a212559
exewrapper: adapt for legacy HackableMercurial
Adrian Buehlmann <adrian@cadifra.com>
parents:
17274
diff
changeset
|
47 mercurial/hgpythonlib.h |
11380
2bb6dbf04757
Ignore mercurial.egg-info build output
Lee Cantey <lcantey@gmail.com>
parents:
8147
diff
changeset
|
48 mercurial.egg-info |
2987
12d1475b48df
Ignore .DS_Store directories
Lee Cantey <lcantey@gmail.com>
parents:
2386
diff
changeset
|
49 .DS_Store |
5693
5d0b94d3ad0c
.hgignore += tags & cscope files
Kirill Smelkov <kirr@mns.spb.ru>
parents:
5622
diff
changeset
|
50 tags |
5d0b94d3ad0c
.hgignore += tags & cscope files
Kirill Smelkov <kirr@mns.spb.ru>
parents:
5622
diff
changeset
|
51 cscope.* |
22945
3232f92360d4
hgignore: ignore the PyCharm workspace folder
Angel Ezquerra <angel.ezquerra@gmail.com>
parents:
21874
diff
changeset
|
52 .idea/* |
30406
cff0f5926797
perf: add asv benchmarks
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
29031
diff
changeset
|
53 .asv/* |
7648
02e358a3a8a7
i18n: let Makefile generate i18n/hg.pot
Martin Geisler <mg@daimi.au.dk>
parents:
7439
diff
changeset
|
54 i18n/hg.pot |
7649
a489e3a94443
i18n: new build_mo command for setup.py
Martin Geisler <mg@daimi.au.dk>
parents:
7648
diff
changeset
|
55 locale/*/LC_MESSAGES/hg.mo |
14538
3818c67a501e
setup: add command to generate index of extensions
Yuya Nishihara <yuya@tcha.org>
parents:
13643
diff
changeset
|
56 hgext/__index__.py |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
57 |
35569
964212780daf
rust: implementation of `hg`
Gregory Szorc <gregory.szorc@gmail.com>
parents:
35190
diff
changeset
|
58 rust/target/ |
39967
aab43d5861bb
rust-chg: add project skeleton
Yuya Nishihara <yuya@tcha.org>
parents:
39491
diff
changeset
|
59 rust/*/target/ |
35569
964212780daf
rust: implementation of `hg`
Gregory Szorc <gregory.szorc@gmail.com>
parents:
35190
diff
changeset
|
60 |
32080
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
30406
diff
changeset
|
61 # Generated wheels |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
30406
diff
changeset
|
62 wheelhouse/ |
fcddcf442e4f
packaging: add make target for linux wheels
Boris Feld <boris.feld@octobus.net>
parents:
30406
diff
changeset
|
63 |
1270
fc3b41570082
Switch to new syntax for .hgignore files.
Bryan O'Sullivan <bos@serpentine.com>
parents:
981
diff
changeset
|
64 syntax: regexp |
794
cdf61d3d3904
Ignore test error files, protect dot in .pc/
Thomas Arendsen Hein <thomas@intevation.de>
parents:
740
diff
changeset
|
65 ^\.pc/ |
7439
7dd44ad43914
Ignore eclipse droppings
Brendan Cully <brendan@kublai.com>
parents:
6551
diff
changeset
|
66 ^\.(pydev)?project |
15702
64a80204433f
ignore: add files present in the hackable-hg windows distribution
Laurens Holst <laurens.hg@grauw.nl>
parents:
14560
diff
changeset
|
67 |
64a80204433f
ignore: add files present in the hackable-hg windows distribution
Laurens Holst <laurens.hg@grauw.nl>
parents:
14560
diff
changeset
|
68 # hackable windows distribution additions |
16537
5068d0974278
update .hgignore for hackable with Python 2.7
Mads Kiilerich <mads@kiilerich.com>
parents:
15859
diff
changeset
|
69 ^hg-python |
15702
64a80204433f
ignore: add files present in the hackable-hg windows distribution
Laurens Holst <laurens.hg@grauw.nl>
parents:
14560
diff
changeset
|
70 ^hg.py$ |