tests/test-transaction-safety.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 27 Jul 2021 00:44:57 +0200
branchstable
changeset 47781 4870a8dc24d9
parent 47313 b1ce93dcdf3c
child 47782 ebfc315c6077
permissions -rw-r--r--
test-transaction-safety: document the test schedule This helps reader to understand how the test work and actually helped me to detect a missing synchronisation step. Differential Revision: https://phab.mercurial-scm.org/D11215
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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])
4870a8dc24d9 test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47313
diff changeset
    53
[C2] "internal"       show the tipmost revision (inside of the transaction)
4870a8dc24d9 test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47313
diff changeset
    54
[C3] "internal"       waits on EXT_DONE (need [A4])
4870a8dc24d9 test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47313
diff changeset
    55
[C3] "internal"       + creates EXT_UNLOCK  unlocks [A2]
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)
4870a8dc24d9 test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47313
diff changeset
    57
[A4] "external"       creates EXT_DONE  unlocks [C3]
4870a8dc24d9 test-transaction-safety: document the test schedule
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47313
diff changeset
    58
[C4] "internal"       end of execution -> unlock [B3]
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"
47313
b1ce93dcdf3c tests: fix test-transaction-safety.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 47263
diff changeset
    80
  > hg log --rev 'tip' -T 'internal: {rev} {desc}\n' > "$TESTTMP/output/internal.out"
b1ce93dcdf3c tests: fix test-transaction-safety.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 47263
diff changeset
    81
  > "$RUNTESTDIR/testlib/wait-on-file" 5 "$HG_TEST_FILE_EXT_DONE" "$HG_TEST_FILE_EXT_UNLOCK"
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    82
  > EOF
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    83
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
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
    86
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    87
  $ 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
    88
  > 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
    89
  > 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
    90
  > 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
    91
  > echo x >> a
47313
b1ce93dcdf3c tests: fix test-transaction-safety.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 47263
diff changeset
    92
  > 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
    93
  > 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
    94
  > 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
    95
  > 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
    96
  > }
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
  $ 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
   100
  > 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
   101
  > 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
   102
  > 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
   103
  > echo x >> a
47313
b1ce93dcdf3c tests: fix test-transaction-safety.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 47263
diff changeset
   104
  > 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
   105
  > 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
   106
  > 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
   107
  > 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
   108
  > }
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
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
   111
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   112
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
   113
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   114
  $ 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
   115
  $ 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
   116
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
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
   119
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   120
  $ 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
   121
  $ 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
   122
  $ 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
   123
  $ 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
   124
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   125
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
   126
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   127
  $ 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
   128
  $ 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
   129
  > 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
   130
  > 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
   131
  > EOF
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   132
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
  $ 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
   137
  > [extensions]
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   138
  > 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
   139
  > [hooks]
47313
b1ce93dcdf3c tests: fix test-transaction-safety.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 47263
diff changeset
   140
  > 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
   141
  > EOF
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   142
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   143
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
   144
-----------------------------------------------------------
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
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
   147
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   148
  $ 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
   149
  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
   150
  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
   151
  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
   152
  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
   153
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   154
#if revlogv1
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   155
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   156
  $ 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
   157
  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
   158
47237
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   159
#endif
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   160
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   161
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
   162
-----------------------------------------------------
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
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
   165
47237
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   166
#if revlogv1
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   167
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   168
  $ 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
   169
  flags  : inline
47237
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   170
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   171
#endif
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   172
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   173
  $ 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
   174
  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
   175
  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
   176
  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
   177
  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
   178
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   179
#if revlogv1
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   180
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   181
  $ 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
   182
  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
   183
47237
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   184
#endif
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   185
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   186
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
   187
-----------------------------------------------------
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
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
   190
47237
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   191
#if revlogv1
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   192
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   193
  $ 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
   194
  flags  : inline
47237
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   195
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   196
#endif
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   197
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   198
  $ 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
   199
  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
   200
  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
   201
  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
   202
  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
   203
  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
   204
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   205
#if revlogv1
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   206
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   207
  $ 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
   208
  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
   209
47237
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   210
#endif
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   211
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   212
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
   213
---------------------------------------
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
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
   216
47237
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   217
#if revlogv1
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   218
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   219
  $ 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
   220
  flags  : inline
47237
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   221
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   222
#endif
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   223
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   224
  $ 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
   225
  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
   226
  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
   227
  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
   228
  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
   229
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   230
#if revlogv1
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   231
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   232
  $ 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
   233
  [1]
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   234
47237
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   235
#endif
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   236
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   237
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
   238
-----------------------------------------------------------
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
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
   241
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   242
#if revlogv1
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   243
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   244
  $ 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
   245
  [1]
47237
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   246
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   247
#endif
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   248
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   249
  $ 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
   250
  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
   251
  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
   252
  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
   253
  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
   254
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   255
#if revlogv1
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   256
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   257
  $ 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
   258
  [1]
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   259
47237
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   260
#endif
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   261
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   262
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   263
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
   264
-------------------------------------
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
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
   267
47237
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   268
#if revlogv1
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   269
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   270
  $ 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
   271
  [1]
47237
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   272
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   273
#endif
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   274
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   275
  $ 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
   276
  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
   277
  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
   278
  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
   279
  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
   280
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   281
#if revlogv1
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   282
47236
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   283
  $ 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
   284
  [1]
47237
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   285
864f4ebe6a8d revlogv2: also test transactionality of revlog v2
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47236
diff changeset
   286
#endif