comparison tests/test-clone-pull-corruption.t @ 12412:2dbb9e5e3454

tests: unify test-clone-pull-corruption
author Matt Mackall <mpm@selenic.com>
date Sun, 26 Sep 2010 13:41:32 -0500
parents tests/test-clone-pull-corruption@81ca1a9bd061
children 7cbb81c47025
comparison
equal deleted inserted replaced
12411:5d3c28a339cb 12412:2dbb9e5e3454
1 Corrupt an hg repo with a pull started during an aborted commit
2 Create two repos, so that one of them can pull from the other one.
3
4 $ hg init source
5 $ cd source
6 $ touch foo
7 $ hg add foo
8 $ hg ci -m 'add foo'
9 $ hg clone . ../corrupted
10 updating to branch default
11 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
12 $ echo >> foo
13 $ hg ci -m 'change foo'
14
15 Add a hook to wait 5 seconds and then abort the commit
16
17 $ cd ../corrupted
18 $ echo '[hooks]' >> .hg/hgrc
19 $ echo 'pretxncommit = sleep 5; exit 1' >> .hg/hgrc
20
21 start a commit...
22
23 $ touch bar
24 $ hg add bar
25 $ hg ci -m 'add bar' &
26
27 ... and start a pull while the commit is still running
28
29 $ sleep 1
30 $ hg pull ../source 2>/dev/null
31 pulling from ../source
32 transaction abort!
33 rollback completed
34 abort: pretxncommit hook exited with status 1
35 searching for changes
36 adding changesets
37 adding manifests
38 adding file changes
39 added 1 changesets with 1 changes to 1 files
40 (run 'hg update' to get a working copy)
41
42 see what happened
43
44 $ wait
45 $ hg verify
46 checking changesets
47 checking manifests
48 crosschecking files in changesets and manifests
49 checking files
50 1 files, 2 changesets, 2 total revisions