Mercurial > hg
annotate tests/test-histedit-no-backup.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 | 3f82a915ab2a |
children |
rev | line source |
---|---|
42584
db5560c07a28
abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents:
41206
diff
changeset
|
1 #testcases abortcommand abortflag |
db5560c07a28
abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents:
41206
diff
changeset
|
2 |
db5560c07a28
abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents:
41206
diff
changeset
|
3 #if abortflag |
db5560c07a28
abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents:
41206
diff
changeset
|
4 $ cat >> $HGRCPATH <<EOF |
db5560c07a28
abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents:
41206
diff
changeset
|
5 > [alias] |
db5560c07a28
abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents:
41206
diff
changeset
|
6 > abort = histedit --abort |
db5560c07a28
abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents:
41206
diff
changeset
|
7 > EOF |
db5560c07a28
abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents:
41206
diff
changeset
|
8 #endif |
db5560c07a28
abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents:
41206
diff
changeset
|
9 |
38548
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
10 $ . "$TESTDIR/histedit-helpers.sh" |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
11 |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
12 Enable extension used by this test |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
13 $ cat >>$HGRCPATH <<EOF |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
14 > [extensions] |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
15 > histedit= |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
16 > EOF |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
17 |
41206
6acbe86c6490
repair: move ui.history-editing-backup to [rewrite] section
Yuya Nishihara <yuya@tcha.org>
parents:
38738
diff
changeset
|
18 ================================= |
6acbe86c6490
repair: move ui.history-editing-backup to [rewrite] section
Yuya Nishihara <yuya@tcha.org>
parents:
38738
diff
changeset
|
19 Test backup-bundle config option| |
6acbe86c6490
repair: move ui.history-editing-backup to [rewrite] section
Yuya Nishihara <yuya@tcha.org>
parents:
38738
diff
changeset
|
20 ================================= |
38548
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
21 Repo setup: |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
22 $ hg init foo |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
23 $ cd foo |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
24 $ echo first>file |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
25 $ hg ci -qAm one |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
26 $ echo second>>file |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
27 $ hg ci -m two |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
28 $ echo third>>file |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
29 $ hg ci -m three |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
30 $ echo forth>>file |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
31 $ hg ci -m four |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
32 $ hg log -G --style compact |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
33 @ 3[tip] 7d5187087c79 1970-01-01 00:00 +0000 test |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
34 | four |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
35 | |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
36 o 2 80d23dfa866d 1970-01-01 00:00 +0000 test |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
37 | three |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
38 | |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
39 o 1 6153eb23e623 1970-01-01 00:00 +0000 test |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
40 | two |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
41 | |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
42 o 0 36b4bdd91f5b 1970-01-01 00:00 +0000 test |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
43 one |
7b57b1ed5c0f
histedit: add --no-backup option (issue5825)
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
diff
changeset
|
44 |
41206
6acbe86c6490
repair: move ui.history-editing-backup to [rewrite] section
Yuya Nishihara <yuya@tcha.org>
parents:
38738
diff
changeset
|
45 Test when `backup-bundle` config option is enabled: |
38733
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
46 $ hg histedit -r '36b4bdd91f5b' --commands - << EOF |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
47 > pick 36b4bdd91f5b 0 one |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
48 > pick 6153eb23e623 1 two |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
49 > roll 80d23dfa866d 2 three |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
50 > edit 7d5187087c79 3 four |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
51 > EOF |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
52 merging file |
46103
3f82a915ab2a
histedit: tweak `edit` message to try and guide users to our workflow
Augie Fackler <augie@google.com>
parents:
45826
diff
changeset
|
53 Editing (7d5187087c79), commit as needed now to split the change |
3f82a915ab2a
histedit: tweak `edit` message to try and guide users to our workflow
Augie Fackler <augie@google.com>
parents:
45826
diff
changeset
|
54 (to edit 7d5187087c79, `hg histedit --continue` after making changes) |
45826
21733e8c924f
errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents:
42584
diff
changeset
|
55 [240] |
42584
db5560c07a28
abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents:
41206
diff
changeset
|
56 $ hg abort |
38733
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
57 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
58 saved backup bundle to $TESTTMP/foo/.hg/strip-backup/1d8f701c7b35-cf7be322-backup.hg |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
59 saved backup bundle to $TESTTMP/foo/.hg/strip-backup/5c0056670bce-b54b65d0-backup.hg |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
60 |
41206
6acbe86c6490
repair: move ui.history-editing-backup to [rewrite] section
Yuya Nishihara <yuya@tcha.org>
parents:
38738
diff
changeset
|
61 Test when `backup-bundle` config option is not enabled |
38733
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
62 Enable config option: |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
63 $ cat >>$HGRCPATH <<EOF |
41206
6acbe86c6490
repair: move ui.history-editing-backup to [rewrite] section
Yuya Nishihara <yuya@tcha.org>
parents:
38738
diff
changeset
|
64 > [rewrite] |
6acbe86c6490
repair: move ui.history-editing-backup to [rewrite] section
Yuya Nishihara <yuya@tcha.org>
parents:
38738
diff
changeset
|
65 > backup-bundle = False |
38733
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
66 > EOF |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
67 |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
68 $ hg histedit -r '36b4bdd91f5b' --commands - << EOF |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
69 > pick 36b4bdd91f5b 0 one |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
70 > pick 6153eb23e623 1 two |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
71 > roll 80d23dfa866d 2 three |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
72 > edit 7d5187087c79 3 four |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
73 > EOF |
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
74 merging file |
46103
3f82a915ab2a
histedit: tweak `edit` message to try and guide users to our workflow
Augie Fackler <augie@google.com>
parents:
45826
diff
changeset
|
75 Editing (7d5187087c79), commit as needed now to split the change |
3f82a915ab2a
histedit: tweak `edit` message to try and guide users to our workflow
Augie Fackler <augie@google.com>
parents:
45826
diff
changeset
|
76 (to edit 7d5187087c79, `hg histedit --continue` after making changes) |
45826
21733e8c924f
errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents:
42584
diff
changeset
|
77 [240] |
42584
db5560c07a28
abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents:
41206
diff
changeset
|
78 |
db5560c07a28
abort: added support for histedit
Taapas Agrawal <taapas2897@gmail.com>
parents:
41206
diff
changeset
|
79 $ hg abort |
38733
c2586a6e5884
histedit: add history-editing-backup config option
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
38548
diff
changeset
|
80 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |