tests/test-transaction-safety.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Mon, 03 May 2021 12:34:31 +0200
changeset 47236 1422eef04309
child 47237 864f4ebe6a8d
permissions -rw-r--r--
revlog: add a new test file focussed on testing transactionally issue What we test here is currently also covered by `test-hooks.t`. However having our own test file allow for more focussed/deep testing and to cover more variant when relevant. So we create a new test file. Differential Revision: https://phab.mercurial-scm.org/D10626
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
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     4
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
     5
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
     6
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
     7
# 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
     8
#       (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
     9
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    10
# 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
    11
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    12
setup
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    13
-----
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    14
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    15
synchronisation+output script:
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    16
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    17
  $ 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
    18
  $ 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
    19
  $ 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
    20
  $ 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
    21
  $ 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
    22
  $ 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
    23
  $ 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
    24
  $ 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
    25
  $ 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
    26
  $ 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
    27
  > #!/bin/sh
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    28
  > $RUNTESTDIR/testlib/wait-on-file 5 $HG_TEST_FILE_EXT_UNLOCK $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
    29
  > hg log --rev 'tip' -T 'external: {rev} {desc}\n' > $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
    30
  > touch $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
    31
  > EOF
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    32
  $ chmod +x 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
    33
  $ 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
    34
  > #!/bin/sh
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    35
  > hg log --rev 'tip' -T 'internal: {rev} {desc}\n' > $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
    36
  > $RUNTESTDIR/testlib/wait-on-file 5 $HG_TEST_FILE_EXT_DONE $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
    37
  > EOF
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    38
  $ chmod +x 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
    39
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
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
    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
  $ 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
    44
  > 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
    45
  > 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
    46
  > 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
    47
  > echo x >> a
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    48
  > $TESTTMP/script/external.sh & hg commit -m "$1"
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    49
  > 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
    50
  > 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
    51
  > 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
    52
  > }
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    53
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    54
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    55
  $ 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
    56
  > 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
    57
  > 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
    58
  > 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
    59
  > echo x >> a
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    60
  > $TESTTMP/script/external.sh & hg pull ../other-repo/ --rev "$1" --force --quiet
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    61
  > 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
    62
  > 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
    63
  > 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
    64
  > }
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    65
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    66
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
    67
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    68
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
    69
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    70
  $ 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
    71
  $ 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
    72
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    73
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    74
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
    75
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    76
  $ 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
    77
  $ 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
    78
  $ 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
    79
  $ 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
    80
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    81
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
    82
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    83
  $ 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
    84
  $ 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
    85
  > 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
    86
  > 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
    87
  > EOF
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    88
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    89
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    90
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    91
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    92
  $ 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
    93
  > [extensions]
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    94
  > 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
    95
  > [hooks]
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
    96
  > pretxnclose = $TESTTMP/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
    97
  > EOF
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
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
   100
-----------------------------------------------------------
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   101
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   102
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
   103
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   104
  $ 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
   105
  pre-commit: -1 
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   106
  external: -1 
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   107
  internal: 0 first
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   108
  post-tr:  0 first
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   109
  $ 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
   110
  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
   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
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
   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
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   115
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
   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
  $ 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
   118
  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
   119
  $ 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
   120
  pre-commit: 0 first
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   121
  external: 0 first
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   122
  internal: 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
   123
  post-tr:  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
   124
  $ 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
   125
  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
   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
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
   128
-----------------------------------------------------
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   129
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   130
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
   131
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   132
  $ 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
   133
  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
   134
  $ 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
   135
  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
   136
  warning: repository is unrelated
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   137
  external: 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
   138
  internal: 5 r3
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   139
  post-tr:  5 r3
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   140
  $ 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
   141
  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
   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
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
   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 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
   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
  $ 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
   149
  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
   150
  $ 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
   151
  pre-commit: 5 r3
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   152
  external: 5 r3
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   153
  internal: 402 r400
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   154
  post-tr:  402 r400
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   155
  $ 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
   156
  [1]
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   157
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   158
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
   159
-----------------------------------------------------------
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   160
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   161
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
   162
  $ 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
   163
  [1]
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   164
  $ 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
   165
  pre-commit: 402 r400
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   166
  external: 402 r400
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   167
  internal: 403 third
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   168
  post-tr:  403 third
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   169
  $ hg debugrevlog -c | grep inline
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   170
  [1]
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   171
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   172
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 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
   174
-------------------------------------
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   175
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   176
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
   177
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   178
  $ 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
   179
  [1]
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   180
  $ 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
   181
  pre-commit: 403 third
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   182
  external: 403 third
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   183
  internal: 503 r500
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   184
  post-tr:  503 r500
1422eef04309 revlog: add a new test file focussed on testing transactionally issue
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
diff changeset
   185
  $ 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
   186
  [1]