annotate tests/test-transaction-safety.t @ 51498:25055932042a stable

tests: fix test-patchbomb-tls.t instability The flakiness on chg is caused by a client that exit faster than the server output log. So actively wait for the server to issue the expected output (with a small timeout)
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 11 Mar 2024 12:03:40 +0100
parents 2e0b2a387502
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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'
51179
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
92 > echo x >> of
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'
51179
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
104 > echo x >> of
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
51179
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
116 $ hg -R other-repo debugbuilddag .+500 --overwritten-file
47236
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
51179
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
123 $ touch of
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
124 $ hg add of
47236
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
51179
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
131 > revlog._maxinline = 3 * 100
47236
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
51179
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
157 $ hg debugrevlog of | grep inline
51180
2e0b2a387502 test-transaction-safety: glog out irrelevant flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51179
diff changeset
158 flags : inline, * (glob)
47236
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
51179
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
169 $ hg debugrevlog of | grep inline
51180
2e0b2a387502 test-transaction-safety: glog out irrelevant flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51179
diff changeset
170 flags : inline, * (glob)
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
51179
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
182 $ hg debugrevlog of | grep inline
51180
2e0b2a387502 test-transaction-safety: glog out irrelevant flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51179
diff changeset
183 flags : inline, * (glob)
47236
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
51179
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
194 $ hg debugrevlog of | grep inline
51180
2e0b2a387502 test-transaction-safety: glog out irrelevant flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51179
diff changeset
195 flags : inline, * (glob)
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
51179
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
208 $ hg debugrevlog of | grep inline
51180
2e0b2a387502 test-transaction-safety: glog out irrelevant flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51179
diff changeset
209 flags : inline, * (glob)
47236
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
51179
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
220 $ hg debugrevlog of | grep inline
51180
2e0b2a387502 test-transaction-safety: glog out irrelevant flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 51179
diff changeset
221 flags : inline, * (glob)
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
51179
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
233 $ hg debugrevlog of | grep inline
47236
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
51179
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
245 $ hg debugrevlog of | grep inline
47236
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
51179
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
258 $ hg debugrevlog of | grep inline
47236
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
51179
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
271 $ hg debugrevlog of | grep inline
47236
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
51179
cf23a8432f51 test-transaction-safety: perform the test on a filelog
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47782
diff changeset
284 $ hg debugrevlog of | grep inline
47236
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