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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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