annotate tests/test-clone-pull-corruption.t @ 23812:db58186dd8e3

setdiscovery: directly run '_updatesample' The heads and exponential sample are going to end up in the same set before any extra processing happens. We simplify the code by directly updating a set with heads. Changes in the order the set is built lead to small changes in the random sampling output. But after double checking, I can confirm the input data to the random sampling is consistent.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Wed, 07 Jan 2015 17:23:21 -0800
parents d2fe9aaedcaf
children b2c1ff96c1e1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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
d2fe9aaedcaf test-clone-pull-corruption: adapt for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16913
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
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
40 (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
41
12412
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
42 see what happened
1785
81ca1a9bd061 Added test cases for repo corruption fixed in 2e0a288ca93e (issue132)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
43
12412
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
44 $ wait
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
45 $ hg verify
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
46 checking changesets
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
47 checking manifests
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
48 crosschecking files in changesets and manifests
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
49 checking files
2dbb9e5e3454 tests: unify test-clone-pull-corruption
Matt Mackall <mpm@selenic.com>
parents: 1785
diff changeset
50 1 files, 2 changesets, 2 total revisions
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15445
diff changeset
51
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15445
diff changeset
52 $ cd ..