Mercurial > hg
annotate tests/test-hgk.t @ 50400:95acba2c29f6
encoding: avoid quadratic time complexity when json-encoding non-UTF8 strings
Apparently the code uses "+=" with a bytes object, which is linear-time, so the
whole encoding is quadratic-time. This patch makes us use a bytearray object,
instead, which has a(n amortized-)constant-time append operation.
The encoding is still not particularly fast, but at least a 10MB file
takes tens of seconds, not many hours to encode.
author | Arseniy Alekseyev <aalekseyev@janestreet.com> |
---|---|
date | Mon, 06 Mar 2023 11:27:57 +0000 |
parents | 5fb1fc2e1281 |
children |
rev | line source |
---|---|
12431 | 1 Minimal hgk check |
6800
cc7114d96548
hgk: ctx.parents() problem introduced by 2d54e7c1e69d
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
2 |
12431 | 3 $ echo "[extensions]" >> $HGRCPATH |
4 $ echo "hgk=" >> $HGRCPATH | |
5 $ hg init repo | |
6 $ cd repo | |
7 $ echo a > a | |
8 $ hg ci -Am adda | |
9 adding a | |
10 $ hg debug-cat-file commit 0 | |
11 tree a0c8bcbbb45c | |
12 parent 000000000000 | |
13 author test 0 0 | |
14 revision 0 | |
15 branch default | |
18807
cf72fd8b3072
hgk: add support for phases
Andrew Shadura <bugzilla@tut.by>
parents:
17959
diff
changeset
|
16 phase draft |
12431 | 17 |
18 adda | |
23451
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
19 $ echo b > b |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
20 $ hg ci -Am addb |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
21 adding b |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
22 $ hg log -T '{node}\n' |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
23 102a90ea7b4a3361e4082ed620918c261189a36a |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
24 07f4944404050f47db2e5c5071e0e84e7a27bba9 |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
25 |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
26 $ hg debug-diff-tree 07f494440405 102a90ea7b4a |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
27 :000000 100664 000000000000 1e88685f5dde N b b |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
28 $ hg debug-diff-tree 07f494440405 102a90ea7b4a --patch |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
29 diff --git a/b b/b |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
30 new file mode 100644 |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
31 --- /dev/null |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
32 +++ b/b |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
33 @@ -0,0 +1,1 @@ |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
34 +b |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
35 |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
36 Ensure that diff-tree output isn't affected by diffopts |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
37 $ hg --config diff.noprefix=True debug-diff-tree 07f494440405 102a90ea7b4a |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
38 :000000 100664 000000000000 1e88685f5dde N b b |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
39 $ hg --config diff.noprefix=True debug-diff-tree --patch 07f494440405 102a90ea7b4a |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
40 diff --git a/b b/b |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
41 new file mode 100644 |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
42 --- /dev/null |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
43 +++ b/b |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
44 @@ -0,0 +1,1 @@ |
5fb1fc2e1281
hgk: don't honor whitespace and format-changing diffopts
Siddharth Agarwal <sid0@fb.com>
parents:
18807
diff
changeset
|
45 +b |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12431
diff
changeset
|
46 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12431
diff
changeset
|
47 $ cd .. |