Mercurial > hg
annotate tests/test-transaction-safety.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 | ebfc315c6077 |
children | cf23a8432f51 |
rev | line source |
---|---|
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
1 Test transaction safety |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
2 ======================= |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
3 |
47263
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47241
diff
changeset
|
4 #testcases revlogv1 revlogv2 changelogv2 |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
5 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
6 #if revlogv1 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
7 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
8 $ cat << EOF >> $HGRCPATH |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
9 > [experimental] |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
10 > revlogv2=no |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
11 > EOF |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
12 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
13 #endif |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
14 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
15 #if revlogv2 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
16 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
17 $ cat << EOF >> $HGRCPATH |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
18 > [experimental] |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
19 > revlogv2=enable-unstable-format-and-corrupt-my-data |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
20 > EOF |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
21 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
22 #endif |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
23 |
47263
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47241
diff
changeset
|
24 #if changelogv2 |
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47241
diff
changeset
|
25 |
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47241
diff
changeset
|
26 $ cat << EOF >> $HGRCPATH |
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47241
diff
changeset
|
27 > [format] |
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47241
diff
changeset
|
28 > exp-use-changelog-v2=enable-unstable-format-and-corrupt-my-data |
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47241
diff
changeset
|
29 > EOF |
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47241
diff
changeset
|
30 |
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47241
diff
changeset
|
31 #endif |
6c84fc9c9a90
changelogv2: introduce a "changelogv2" feature
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47241
diff
changeset
|
32 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
33 This test basic case to make sure external process do not see transaction |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
34 content until it is committed. |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
35 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
36 # TODO: also add an external reader accessing revlog files while they are written |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
37 # (instead of during transaction finalisation) |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
38 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
39 # TODO: also add stream clone and hardlink clone happening during these transaction. |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
40 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
41 setup |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
42 ----- |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
43 |
47781
4870a8dc24d9
test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47313
diff
changeset
|
44 synchronisation+output script using the following schedule: |
4870a8dc24d9
test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47313
diff
changeset
|
45 |
4870a8dc24d9
test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47313
diff
changeset
|
46 [A1] "external" is started |
4870a8dc24d9
test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47313
diff
changeset
|
47 [A2] "external" waits on EXT_UNLOCK |
4870a8dc24d9
test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47313
diff
changeset
|
48 [A2] "external" + creates EXT_WAITING → unlocks [C1] |
4870a8dc24d9
test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47313
diff
changeset
|
49 [B1] "hg commit/pull" is started |
4870a8dc24d9
test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47313
diff
changeset
|
50 [B2] "hg commit/pull" is ready to be committed |
4870a8dc24d9
test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47313
diff
changeset
|
51 [B3] "hg commit/pull" spawn "internal" using a pretxnclose hook (need [C4]) |
4870a8dc24d9
test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47313
diff
changeset
|
52 [C1] "internal" waits on EXT_WAITING (need [A2]) |
47782
ebfc315c6077
test-transaction-safety: relax some of the synchronisation schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47781
diff
changeset
|
53 [C2] "internal" creates EXT_UNLOCK → unlocks [A2] |
ebfc315c6077
test-transaction-safety: relax some of the synchronisation schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47781
diff
changeset
|
54 [C3] "internal" show the tipmost revision (inside of the transaction) |
ebfc315c6077
test-transaction-safety: relax some of the synchronisation schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47781
diff
changeset
|
55 [C4] "internal" waits on EXT_DONE (need [A4]) |
47781
4870a8dc24d9
test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47313
diff
changeset
|
56 [A3] "external" show the tipmost revision (outside of the transaction) |
47782
ebfc315c6077
test-transaction-safety: relax some of the synchronisation schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47781
diff
changeset
|
57 [A4] "external" creates EXT_DONE → unlocks [C4] |
ebfc315c6077
test-transaction-safety: relax some of the synchronisation schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47781
diff
changeset
|
58 [C5] "internal" end of execution -> unlock [B3] |
47781
4870a8dc24d9
test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47313
diff
changeset
|
59 [B4] "hg commit/pull" transaction is committed on disk |
4870a8dc24d9
test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47313
diff
changeset
|
60 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
61 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
62 $ mkdir sync |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
63 $ mkdir output |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
64 $ mkdir script |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
65 $ HG_TEST_FILE_EXT_WAITING=$TESTTMP/sync/ext_waiting |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
66 $ export HG_TEST_FILE_EXT_WAITING |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
67 $ HG_TEST_FILE_EXT_UNLOCK=$TESTTMP/sync/ext_unlock |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
68 $ export HG_TEST_FILE_EXT_UNLOCK |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
69 $ HG_TEST_FILE_EXT_DONE=$TESTTMP/sync/ext_done |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
70 $ export HG_TEST_FILE_EXT_DONE |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
71 $ cat << EOF > script/external.sh |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
72 > #!/bin/sh |
47313
b1ce93dcdf3c
tests: fix test-transaction-safety.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
47263
diff
changeset
|
73 > "$RUNTESTDIR/testlib/wait-on-file" 5 "$HG_TEST_FILE_EXT_UNLOCK" "$HG_TEST_FILE_EXT_WAITING" |
b1ce93dcdf3c
tests: fix test-transaction-safety.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
47263
diff
changeset
|
74 > hg log --rev 'tip' -T 'external: {rev} {desc}\n' > "$TESTTMP/output/external.out" |
b1ce93dcdf3c
tests: fix test-transaction-safety.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
47263
diff
changeset
|
75 > touch "$HG_TEST_FILE_EXT_DONE" |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
76 > EOF |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
77 $ cat << EOF > script/internal.sh |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
78 > #!/bin/sh |
47781
4870a8dc24d9
test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47313
diff
changeset
|
79 > "$RUNTESTDIR/testlib/wait-on-file" 5 "$HG_TEST_FILE_EXT_WAITING" |
47782
ebfc315c6077
test-transaction-safety: relax some of the synchronisation schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47781
diff
changeset
|
80 > touch "$HG_TEST_FILE_EXT_UNLOCK" |
47313
b1ce93dcdf3c
tests: fix test-transaction-safety.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
47263
diff
changeset
|
81 > hg log --rev 'tip' -T 'internal: {rev} {desc}\n' > "$TESTTMP/output/internal.out" |
47782
ebfc315c6077
test-transaction-safety: relax some of the synchronisation schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47781
diff
changeset
|
82 > "$RUNTESTDIR/testlib/wait-on-file" 5 "$HG_TEST_FILE_EXT_DONE" |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
83 > EOF |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
84 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
85 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
86 Automated commands: |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
87 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
88 $ make_one_commit() { |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
89 > rm -f $TESTTMP/sync/* |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
90 > rm -f $TESTTMP/output/* |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
91 > hg log --rev 'tip' -T 'pre-commit: {rev} {desc}\n' |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
92 > echo x >> a |
47313
b1ce93dcdf3c
tests: fix test-transaction-safety.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
47263
diff
changeset
|
93 > sh $TESTTMP/script/external.sh & hg commit -m "$1" |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
94 > cat $TESTTMP/output/external.out |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
95 > cat $TESTTMP/output/internal.out |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
96 > hg log --rev 'tip' -T 'post-tr: {rev} {desc}\n' |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
97 > } |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
98 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
99 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
100 $ make_one_pull() { |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
101 > rm -f $TESTTMP/sync/* |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
102 > rm -f $TESTTMP/output/* |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
103 > hg log --rev 'tip' -T 'pre-commit: {rev} {desc}\n' |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
104 > echo x >> a |
47313
b1ce93dcdf3c
tests: fix test-transaction-safety.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
47263
diff
changeset
|
105 > sh $TESTTMP/script/external.sh & hg pull ../other-repo/ --rev "$1" --force --quiet |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
106 > cat $TESTTMP/output/external.out |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
107 > cat $TESTTMP/output/internal.out |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
108 > hg log --rev 'tip' -T 'post-tr: {rev} {desc}\n' |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
109 > } |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
110 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
111 prepare a large source to which to pull from: |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
112 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
113 The source is large to unsure we don't use inline more after the pull |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
114 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
115 $ hg init other-repo |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
116 $ hg -R other-repo debugbuilddag .+500 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
117 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
118 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
119 prepare an empty repository where to make test: |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
120 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
121 $ hg init repo |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
122 $ cd repo |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
123 $ touch a |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
124 $ hg add a |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
125 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
126 prepare a small extension to controll inline size |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
127 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
128 $ mkdir $TESTTMP/ext |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
129 $ cat << EOF > $TESTTMP/ext/small_inline.py |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
130 > from mercurial import revlog |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
131 > revlog._maxinline = 64 * 100 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
132 > EOF |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
133 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
134 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
135 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
136 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
137 $ cat << EOF >> $HGRCPATH |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
138 > [extensions] |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
139 > small_inline=$TESTTMP/ext/small_inline.py |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
140 > [hooks] |
47313
b1ce93dcdf3c
tests: fix test-transaction-safety.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents:
47263
diff
changeset
|
141 > pretxnclose = sh $TESTTMP/script/internal.sh |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
142 > EOF |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
143 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
144 check this is true for the initial commit (inline → inline) |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
145 ----------------------------------------------------------- |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
146 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
147 the repository should still be inline (for relevant format) |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
148 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
149 $ make_one_commit first |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
150 pre-commit: -1 |
47239
682f09857d69
revlogv2: delay the update of the changelog docket to transaction end
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47237
diff
changeset
|
151 external: -1 |
47241
2219853a1503
revlogv2: track pending write in the docket and expose it to hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47239
diff
changeset
|
152 internal: 0 first |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
153 post-tr: 0 first |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
154 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
155 #if revlogv1 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
156 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
157 $ hg debugrevlog -c | grep inline |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
158 flags : inline |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
159 |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
160 #endif |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
161 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
162 check this is true for extra commit (inline → inline) |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
163 ----------------------------------------------------- |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
164 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
165 the repository should still be inline (for relevant format) |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
166 |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
167 #if revlogv1 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
168 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
169 $ hg debugrevlog -c | grep inline |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
170 flags : inline |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
171 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
172 #endif |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
173 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
174 $ make_one_commit second |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
175 pre-commit: 0 first |
47239
682f09857d69
revlogv2: delay the update of the changelog docket to transaction end
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47237
diff
changeset
|
176 external: 0 first |
47241
2219853a1503
revlogv2: track pending write in the docket and expose it to hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47239
diff
changeset
|
177 internal: 1 second |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
178 post-tr: 1 second |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
179 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
180 #if revlogv1 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
181 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
182 $ hg debugrevlog -c | grep inline |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
183 flags : inline |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
184 |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
185 #endif |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
186 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
187 check this is true for a small pull (inline → inline) |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
188 ----------------------------------------------------- |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
189 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
190 the repository should still be inline (for relevant format) |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
191 |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
192 #if revlogv1 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
193 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
194 $ hg debugrevlog -c | grep inline |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
195 flags : inline |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
196 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
197 #endif |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
198 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
199 $ make_one_pull 3 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
200 pre-commit: 1 second |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
201 warning: repository is unrelated |
47239
682f09857d69
revlogv2: delay the update of the changelog docket to transaction end
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47237
diff
changeset
|
202 external: 1 second |
47241
2219853a1503
revlogv2: track pending write in the docket and expose it to hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47239
diff
changeset
|
203 internal: 5 r3 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
204 post-tr: 5 r3 |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
205 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
206 #if revlogv1 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
207 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
208 $ hg debugrevlog -c | grep inline |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
209 flags : inline |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
210 |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
211 #endif |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
212 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
213 Make a large pull (inline → no-inline) |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
214 --------------------------------------- |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
215 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
216 the repository should no longer be inline (for relevant format) |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
217 |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
218 #if revlogv1 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
219 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
220 $ hg debugrevlog -c | grep inline |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
221 flags : inline |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
222 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
223 #endif |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
224 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
225 $ make_one_pull 400 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
226 pre-commit: 5 r3 |
47239
682f09857d69
revlogv2: delay the update of the changelog docket to transaction end
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47237
diff
changeset
|
227 external: 5 r3 |
47241
2219853a1503
revlogv2: track pending write in the docket and expose it to hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47239
diff
changeset
|
228 internal: 402 r400 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
229 post-tr: 402 r400 |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
230 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
231 #if revlogv1 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
232 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
233 $ hg debugrevlog -c | grep inline |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
234 [1] |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
235 |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
236 #endif |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
237 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
238 check this is true for extra commit (no-inline → no-inline) |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
239 ----------------------------------------------------------- |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
240 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
241 the repository should no longer be inline (for relevant format) |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
242 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
243 #if revlogv1 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
244 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
245 $ hg debugrevlog -c | grep inline |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
246 [1] |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
247 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
248 #endif |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
249 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
250 $ make_one_commit third |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
251 pre-commit: 402 r400 |
47239
682f09857d69
revlogv2: delay the update of the changelog docket to transaction end
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47237
diff
changeset
|
252 external: 402 r400 |
47241
2219853a1503
revlogv2: track pending write in the docket and expose it to hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47239
diff
changeset
|
253 internal: 403 third |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
254 post-tr: 403 third |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
255 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
256 #if revlogv1 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
257 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
258 $ hg debugrevlog -c | grep inline |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
259 [1] |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
260 |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
261 #endif |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
262 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
263 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
264 Make a pull (not-inline → no-inline) |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
265 ------------------------------------- |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
266 |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
267 the repository should no longer be inline (for relevant format) |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
268 |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
269 #if revlogv1 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
270 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
271 $ hg debugrevlog -c | grep inline |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
272 [1] |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
273 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
274 #endif |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
275 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
276 $ make_one_pull tip |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
277 pre-commit: 403 third |
47239
682f09857d69
revlogv2: delay the update of the changelog docket to transaction end
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47237
diff
changeset
|
278 external: 403 third |
47241
2219853a1503
revlogv2: track pending write in the docket and expose it to hooks
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47239
diff
changeset
|
279 internal: 503 r500 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
280 post-tr: 503 r500 |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
281 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
282 #if revlogv1 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
283 |
47236
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
284 $ hg debugrevlog -c | grep inline |
1422eef04309
revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff
changeset
|
285 [1] |
47237
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
286 |
864f4ebe6a8d
revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47236
diff
changeset
|
287 #endif |