tests/test-clone-pull-corruption.t
author Gregory Szorc <gregory.szorc@gmail.com>
Mon, 17 Sep 2018 15:57:32 -0700
changeset 39677 d27fde3e023e
parent 39489 f1186c292d03
child 49825 2f2682f40ea0
permissions -rw-r--r--
transaction: make file a private attribute This holds a file handle for the journal file. This file handle should not be touched outside the journal class and doesn't belong on the public interface. Differential Revision: https://phab.mercurial-scm.org/D4625
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12412
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
     1
Corrupt an hg repo with a pull started during an aborted commit
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
     2
Create two repos, so that one of them can pull from the other one.
1785
81ca1a9bd061 Added test cases for repo corruption fixed in 2e0a288ca93e (issue132)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
     3
12412
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
     4
  $ hg init source
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
     5
  $ cd source
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
     6
  $ touch foo
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
     7
  $ hg add foo
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
     8
  $ hg ci -m 'add foo'
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
     9
  $ hg clone . ../corrupted
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    10
  updating to branch default
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    11
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    12
  $ echo >> foo
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    13
  $ hg ci -m 'change foo'
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    14
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    15
Add a hook to wait 5 seconds and then abort the commit
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    16
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    17
  $ cd ../corrupted
16962
d2fe9aaedcaf test-clone-pull-corruption: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16913
diff changeset
    18
  $ echo "[hooks]" >> .hg/hgrc
24838
b2c1ff96c1e1 tests: use double quote to quote arguments in hook for portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 16962
diff changeset
    19
  $ echo 'pretxncommit = sh -c "sleep 5; exit 1"' >> .hg/hgrc
12412
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    20
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    21
start a commit...
1785
81ca1a9bd061 Added test cases for repo corruption fixed in 2e0a288ca93e (issue132)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    22
12412
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    23
  $ touch bar
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    24
  $ hg add bar
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    25
  $ hg ci -m 'add bar' &
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    26
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    27
... and start a pull while the commit is still running
1785
81ca1a9bd061 Added test cases for repo corruption fixed in 2e0a288ca93e (issue132)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    28
12412
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    29
  $ sleep 1
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    30
  $ hg pull ../source 2>/dev/null
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    31
  pulling from ../source
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    32
  transaction abort!
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    33
  rollback completed
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    34
  abort: pretxncommit hook exited with status 1
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    35
  searching for changes
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    36
  adding changesets
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    37
  adding manifests
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    38
  adding file changes
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    39
  added 1 changesets with 1 changes to 1 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 24838
diff changeset
    40
  new changesets 52998019f625
12412
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    41
  (run 'hg update' to get a working copy)
1785
81ca1a9bd061 Added test cases for repo corruption fixed in 2e0a288ca93e (issue132)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    42
12412
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    43
see what happened
1785
81ca1a9bd061 Added test cases for repo corruption fixed in 2e0a288ca93e (issue132)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    44
12412
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    45
  $ wait
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    46
  $ hg verify
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    47
  checking changesets
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    48
  checking manifests
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    49
  crosschecking files in changesets and manifests
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
    50
  checking files
39489
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 34661
diff changeset
    51
  checked 2 changesets with 2 changes to 1 files
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15445
diff changeset
    52
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15445
diff changeset
    53
  $ cd ..