Mercurial > hg
annotate tests/test-rollback.t @ 42742:334c1ea57136
discovery: new devel.discovery.randomize option
By default, this is True, but setting it to False is a uniform
way to kill all randomness in integration tests such as test-setdiscovery.t
By "uniform" we mean that it can be passed to implementations in other
languages, for which the monkey-patching of random.sample would be
irrelevant.
In the above mentioned test file, we use it right away,
replacing the adhoc extension that had the same purpose, and to derandomize a
case with many round-trips, that we'll need to behave uniformly in the Rust
version.
Differential Revision: https://phab.mercurial-scm.org/D6427
author | Georges Racinet <georges.racinet@octobus.net> |
---|---|
date | Tue, 21 May 2019 17:44:15 +0200 |
parents | 57c462db87fd |
children | 7a4e1d245f19 |
rev | line source |
---|---|
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
1 setup repo |
13956
ffb5c09ba822
tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents:
13446
diff
changeset
|
2 $ hg init t |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
3 $ cd t |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
4 $ echo a > a |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
5 $ hg commit -Am'add a' |
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
6 adding a |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
7 $ hg verify |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
8 checking changesets |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
9 checking manifests |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
10 crosschecking files in changesets and manifests |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
11 checking files |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
36645
diff
changeset
|
12 checked 1 changesets with 1 changes to 1 files |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
13 $ hg parents |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
14 changeset: 0:1f0dee641bb7 |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
15 tag: tip |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
16 user: test |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
17 date: Thu Jan 01 00:00:00 1970 +0000 |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
18 summary: add a |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
19 |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
20 |
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
21 rollback to null revision |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
22 $ hg status |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
23 $ hg rollback |
13446
1e497df514e2
rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents:
13185
diff
changeset
|
24 repository tip rolled back to revision -1 (undo commit) |
1e497df514e2
rollback: clarifies the message about the reverted state (issue2628)
Gilles Moris <gilles.moris@free.fr>
parents:
13185
diff
changeset
|
25 working directory now based on revision -1 |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
26 $ hg verify |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
27 checking changesets |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
28 checking manifests |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
29 crosschecking files in changesets and manifests |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
30 checking files |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
36645
diff
changeset
|
31 checked 0 changesets with 0 changes to 0 files |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
32 $ hg parents |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
33 $ hg status |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
34 A a |
5814
dd5a501cb97f
restore branch after rollback (issue 902)
Alexandre Vassalotti <mercurial-bugs@selenic.com>
parents:
2227
diff
changeset
|
35 |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
36 Two changesets this time so we rollback to a real changeset |
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
37 $ hg commit -m'add a again' |
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
38 $ echo a >> a |
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
39 $ hg commit -m'modify a' |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
40 |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
41 Test issue 902 (current branch is preserved) |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
42 $ hg branch test |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
43 marked working directory as branch test |
15615 | 44 (branches are permanent and global, did you want a bookmark?) |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
45 $ hg rollback |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
46 repository tip rolled back to revision 0 (undo commit) |
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
47 working directory now based on revision 0 |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
48 $ hg branch |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
49 default |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
50 |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
51 Test issue 1635 (commit message saved) |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
52 $ cat .hg/last-message.txt ; echo |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
53 modify a |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
54 |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
55 Test rollback of hg before issue 902 was fixed |
9934
720f70b720d3
commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents:
6058
diff
changeset
|
56 |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
57 $ hg commit -m "test3" |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
58 $ hg branch test |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
59 marked working directory as branch test |
15615 | 60 (branches are permanent and global, did you want a bookmark?) |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
61 $ rm .hg/undo.branch |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
62 $ hg rollback |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
63 repository tip rolled back to revision 0 (undo commit) |
15130
3d44e68360a6
rollback: refactor for readability; cosmetics.
Greg Ward <greg@gerg.ca>
parents:
15108
diff
changeset
|
64 named branch could not be reset: current branch is still 'test' |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
65 working directory now based on revision 0 |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
66 $ hg branch |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
67 test |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
68 |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
69 working dir unaffected by rollback: do not restore dirstate et. al. |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
70 $ hg log --template '{rev} {branch} {desc|firstline}\n' |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
71 0 default add a again |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
72 $ hg status |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
73 M a |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
74 $ hg bookmark foo |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
75 $ hg commit -m'modify a again' |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
76 $ echo b > b |
25744
e78a80f8f51e
bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22183
diff
changeset
|
77 $ hg bookmark bar -r default #making bar active, before the transaction |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
78 $ hg commit -Am'add b' |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
79 adding b |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
80 $ hg log --template '{rev} {branch} {desc|firstline}\n' |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
81 2 test add b |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
82 1 test modify a again |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
83 0 default add a again |
25744
e78a80f8f51e
bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22183
diff
changeset
|
84 $ hg update bar |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
85 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
25744
e78a80f8f51e
bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22183
diff
changeset
|
86 (activating bookmark bar) |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
87 $ cat .hg/undo.branch ; echo |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
88 test |
15183
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
89 $ hg rollback -f |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
90 repository tip rolled back to revision 1 (undo commit) |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
91 $ hg id -n |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
92 0 |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
93 $ hg branch |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
94 default |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
95 $ cat .hg/bookmarks.current ; echo |
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
96 bar |
25744
e78a80f8f51e
bookmarks: change bookmark within a transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
22183
diff
changeset
|
97 $ hg bookmark --delete foo bar |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
98 |
22183
4dd9f606d0a6
tests: fixup issue markers to make check-commit happy
Matt Mackall <mpm@selenic.com>
parents:
21404
diff
changeset
|
99 rollback by pretxncommit saves commit message (issue1635) |
9934
720f70b720d3
commit: save commit message so it's not destroyed by rollback.
Greg Ward <greg-hg@gerg.ca>
parents:
6058
diff
changeset
|
100 |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
101 $ echo a >> a |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
102 $ hg --config hooks.pretxncommit=false commit -m"precious commit message" |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
103 transaction abort! |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
104 rollback completed |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
105 abort: pretxncommit hook exited with status * (glob) |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
106 [255] |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
107 $ cat .hg/last-message.txt ; echo |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
108 precious commit message |
13185
c6e00dfcdcb8
tests: clean up test-rollback.t
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12642
diff
changeset
|
109 |
c6e00dfcdcb8
tests: clean up test-rollback.t
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12642
diff
changeset
|
110 same thing, but run $EDITOR |
c6e00dfcdcb8
tests: clean up test-rollback.t
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
12642
diff
changeset
|
111 |
16901
5b89700cce30
tests: consistently use a HGEDITOR pattern that works with msys on windows
Mads Kiilerich <mads@kiilerich.com>
parents:
15623
diff
changeset
|
112 $ cat > editor.sh << '__EOF__' |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
113 > echo "another precious commit message" > "$1" |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
114 > __EOF__ |
16901
5b89700cce30
tests: consistently use a HGEDITOR pattern that works with msys on windows
Mads Kiilerich <mads@kiilerich.com>
parents:
15623
diff
changeset
|
115 $ HGEDITOR="\"sh\" \"`pwd`/editor.sh\"" hg --config hooks.pretxncommit=false commit 2>&1 |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
116 transaction abort! |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
117 rollback completed |
41362
57c462db87fd
localrepo: use context manager for transaction in commit()
Martin von Zweigbergk <martinvonz@google.com>
parents:
40541
diff
changeset
|
118 note: commit message saved in .hg/last-message.txt |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
119 abort: pretxncommit hook exited with status * (glob) |
12642
bb35840e965c
tests: remove the last traces of $HGTMP
Mads Kiilerich <mads@kiilerich.com>
parents:
12485
diff
changeset
|
120 [255] |
bb35840e965c
tests: remove the last traces of $HGTMP
Mads Kiilerich <mads@kiilerich.com>
parents:
12485
diff
changeset
|
121 $ cat .hg/last-message.txt |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
122 another precious commit message |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
123 |
13958
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
124 test rollback on served repository |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
125 |
16916
c76175cd1415
test-rollback: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
16913
diff
changeset
|
126 #if serve |
13958
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
127 $ hg commit -m "precious commit message" |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
128 $ hg serve -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
129 $ cat hg.pid >> $DAEMON_PIDS |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
130 $ cd .. |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
131 $ hg clone http://localhost:$HGPORT u |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
132 requesting all changes |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
133 adding changesets |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
134 adding manifests |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
135 adding file changes |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
136 added 3 changesets with 2 changes to 1 files (+1 heads) |
34661
eb586ed5d8ce
transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
33755
diff
changeset
|
137 new changesets 23b0221f3370:068774709090 |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
138 updating to branch default |
13958
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
139 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
140 $ cd u |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
141 $ hg id default |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
142 068774709090 |
13958
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
143 |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
144 now rollback and observe that 'hg serve' reloads the repository and |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
145 presents the correct tip changeset: |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
146 |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
147 $ hg -R ../t rollback |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
148 repository tip rolled back to revision 1 (undo commit) |
15108
4c1ec0fe59d6
test-rollback: tinker a bit to make it easier to add more tests.
Greg Ward <greg@gerg.ca>
parents:
13959
diff
changeset
|
149 working directory now based on revision 0 |
13958
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
150 $ hg id default |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
151 791dd2169706 |
31770
3ed26ba54685
test-serve: kill daemons before deleting the access and error logs
Matt Harbison <matt_harbison@yahoo.com>
parents:
29086
diff
changeset
|
152 |
3ed26ba54685
test-serve: kill daemons before deleting the access and error logs
Matt Harbison <matt_harbison@yahoo.com>
parents:
29086
diff
changeset
|
153 $ killdaemons.py |
16916
c76175cd1415
test-rollback: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
16913
diff
changeset
|
154 #endif |
15183
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
155 |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
156 update to older changeset and then refuse rollback, because |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
157 that would lose data (issue2998) |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
158 $ cd ../t |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
159 $ hg -q update |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
160 $ rm `hg status -un` |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
161 $ template='{rev}:{node|short} [{branch}] {desc|firstline}\n' |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
162 $ echo 'valuable new file' > b |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
163 $ echo 'valuable modification' >> a |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
164 $ hg commit -A -m'a valuable change' |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
165 adding b |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
166 $ hg update 0 |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
167 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
168 $ hg rollback |
15187
0292f88d3b86
rollback: use a hint for force
Matt Mackall <mpm@selenic.com>
parents:
15183
diff
changeset
|
169 abort: rollback of last commit while not checked out may lose data |
0292f88d3b86
rollback: use a hint for force
Matt Mackall <mpm@selenic.com>
parents:
15183
diff
changeset
|
170 (use -f to force) |
15183
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
171 [255] |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
172 $ hg tip -q |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
173 2:4d9cd3795eea |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
174 $ hg rollback -f |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
175 repository tip rolled back to revision 1 (undo commit) |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
176 $ hg status |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
177 $ hg log --removed b # yep, it's gone |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
178 |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
179 same again, but emulate an old client that doesn't write undo.desc |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
180 $ hg -q update |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
181 $ echo 'valuable modification redux' >> a |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
182 $ hg commit -m'a valuable change redux' |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
183 $ rm .hg/undo.desc |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
184 $ hg update 0 |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
185 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
186 $ hg rollback |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
187 rolling back unknown transaction |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
188 $ cat a |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
189 a |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16901
diff
changeset
|
190 |
20524
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
191 corrupt journal test |
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
192 $ echo "foo" > .hg/store/journal |
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
193 $ hg recover |
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
194 rolling back interrupted transaction |
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
195 couldn't read journal entry 'foo\n'! |
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
196 checking changesets |
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
197 checking manifests |
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
198 crosschecking files in changesets and manifests |
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
199 checking files |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
36645
diff
changeset
|
200 checked 2 changesets with 2 changes to 1 files |
20524
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
201 |
29086
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
202 rollback disabled by config |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
203 $ cat >> $HGRCPATH <<EOF |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
204 > [ui] |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
205 > rollback = false |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
206 > EOF |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
207 $ echo narf >> pinky-sayings.txt |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
208 $ hg add pinky-sayings.txt |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
209 $ hg ci -m 'First one.' |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
210 $ hg rollback |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
211 abort: rollback is disabled because it is unsafe |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
212 (see `hg help -v rollback` for information) |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
213 [255] |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
214 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
215 $ cd .. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
216 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
217 I/O errors on stdio are handled properly (issue5658) |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
218 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
219 $ cat > badui.py << EOF |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
220 > import errno |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
221 > from mercurial.i18n import _ |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
222 > from mercurial import ( |
36645
7bc33d677c0c
tests: fix various test-check-module-imports.t violations
Augie Fackler <augie@google.com>
parents:
36486
diff
changeset
|
223 > error, |
34766
d957d4475a64
configitems: register the test 'ui.ioerrors' config
Boris Feld <boris.feld@octobus.net>
parents:
34661
diff
changeset
|
224 > registrar, |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
225 > ui as uimod, |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
226 > ) |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
227 > |
34766
d957d4475a64
configitems: register the test 'ui.ioerrors' config
Boris Feld <boris.feld@octobus.net>
parents:
34661
diff
changeset
|
228 > configtable = {} |
d957d4475a64
configitems: register the test 'ui.ioerrors' config
Boris Feld <boris.feld@octobus.net>
parents:
34661
diff
changeset
|
229 > configitem = registrar.configitem(configtable) |
d957d4475a64
configitems: register the test 'ui.ioerrors' config
Boris Feld <boris.feld@octobus.net>
parents:
34661
diff
changeset
|
230 > |
36486
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
231 > configitem(b'ui', b'ioerrors', |
34766
d957d4475a64
configitems: register the test 'ui.ioerrors' config
Boris Feld <boris.feld@octobus.net>
parents:
34661
diff
changeset
|
232 > default=list, |
d957d4475a64
configitems: register the test 'ui.ioerrors' config
Boris Feld <boris.feld@octobus.net>
parents:
34661
diff
changeset
|
233 > ) |
d957d4475a64
configitems: register the test 'ui.ioerrors' config
Boris Feld <boris.feld@octobus.net>
parents:
34661
diff
changeset
|
234 > |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
235 > def pretxncommit(ui, repo, **kwargs): |
36486
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
236 > ui.warn(b'warn during pretxncommit\n') |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
237 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
238 > def pretxnclose(ui, repo, **kwargs): |
36486
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
239 > ui.warn(b'warn during pretxnclose\n') |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
240 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
241 > def txnclose(ui, repo, **kwargs): |
36486
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
242 > ui.warn(b'warn during txnclose\n') |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
243 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
244 > def txnabort(ui, repo, **kwargs): |
36486
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
245 > ui.warn(b'warn during abort\n') |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
246 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
247 > class fdproxy(object): |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
248 > def __init__(self, ui, o): |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
249 > self._ui = ui |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
250 > self._o = o |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
251 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
252 > def __getattr__(self, attr): |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
253 > return getattr(self._o, attr) |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
254 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
255 > def write(self, msg): |
36486
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
256 > errors = set(self._ui.configlist(b'ui', b'ioerrors')) |
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
257 > pretxncommit = msg == b'warn during pretxncommit\n' |
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
258 > pretxnclose = msg == b'warn during pretxnclose\n' |
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
259 > txnclose = msg == b'warn during txnclose\n' |
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
260 > txnabort = msg == b'warn during abort\n' |
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
261 > msgabort = msg == _(b'transaction abort!\n') |
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
262 > msgrollback = msg == _(b'rollback completed\n') |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
263 > |
36486
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
264 > if pretxncommit and b'pretxncommit' in errors: |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
265 > raise IOError(errno.EPIPE, 'simulated epipe') |
36486
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
266 > if pretxnclose and b'pretxnclose' in errors: |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
267 > raise IOError(errno.EIO, 'simulated eio') |
36486
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
268 > if txnclose and b'txnclose' in errors: |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
269 > raise IOError(errno.EBADF, 'simulated badf') |
36486
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
270 > if txnabort and b'txnabort' in errors: |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
271 > raise IOError(errno.EPIPE, 'simulated epipe') |
36486
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
272 > if msgabort and b'msgabort' in errors: |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
273 > raise IOError(errno.EBADF, 'simulated ebadf') |
36486
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
274 > if msgrollback and b'msgrollback' in errors: |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
275 > raise IOError(errno.EIO, 'simulated eio') |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
276 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
277 > return self._o.write(msg) |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
278 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
279 > def uisetup(ui): |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
280 > class badui(ui.__class__): |
40541
c2aea007130b
ui: add inner function to select write destination
Yuya Nishihara <yuya@tcha.org>
parents:
39489
diff
changeset
|
281 > def _write(self, dest, *args, **kwargs): |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
282 > olderr = self.ferr |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
283 > try: |
40541
c2aea007130b
ui: add inner function to select write destination
Yuya Nishihara <yuya@tcha.org>
parents:
39489
diff
changeset
|
284 > if dest is self.ferr: |
c2aea007130b
ui: add inner function to select write destination
Yuya Nishihara <yuya@tcha.org>
parents:
39489
diff
changeset
|
285 > self.ferr = dest = fdproxy(self, olderr) |
c2aea007130b
ui: add inner function to select write destination
Yuya Nishihara <yuya@tcha.org>
parents:
39489
diff
changeset
|
286 > return super(badui, self)._write(dest, *args, **kwargs) |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
287 > finally: |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
288 > self.ferr = olderr |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
289 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
290 > ui.__class__ = badui |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
291 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
292 > def reposetup(ui, repo): |
36486
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
293 > ui.setconfig(b'hooks', b'pretxnclose.badui', pretxnclose, b'badui') |
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
294 > ui.setconfig(b'hooks', b'txnclose.badui', txnclose, b'badui') |
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
295 > ui.setconfig(b'hooks', b'pretxncommit.badui', pretxncommit, b'badui') |
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
296 > ui.setconfig(b'hooks', b'txnabort.badui', txnabort, b'badui') |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
297 > EOF |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
298 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
299 $ cat >> $HGRCPATH << EOF |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
300 > [extensions] |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
301 > badui = $TESTTMP/badui.py |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
302 > EOF |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
303 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
304 An I/O error during pretxncommit is handled |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
305 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
306 $ hg init ioerror-pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
307 $ cd ioerror-pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
308 $ echo 0 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
309 $ hg -q commit -A -m initial |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
310 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
311 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
312 warn during txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
313 $ echo 1 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
314 $ hg --config ui.ioerrors=pretxncommit commit -m 'error during pretxncommit' |
33755
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
315 warn during pretxnclose |
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
316 warn during txnclose |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
317 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
318 $ hg commit -m 'commit 1' |
33755
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
319 nothing changed |
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
320 [1] |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
321 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
322 $ cd .. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
323 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
324 An I/O error during pretxnclose is handled |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
325 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
326 $ hg init ioerror-pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
327 $ cd ioerror-pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
328 $ echo 0 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
329 $ hg -q commit -A -m initial |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
330 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
331 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
332 warn during txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
333 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
334 $ echo 1 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
335 $ hg --config ui.ioerrors=pretxnclose commit -m 'error during pretxnclose' |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
336 warn during pretxncommit |
33755
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
337 warn during txnclose |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
338 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
339 $ hg commit -m 'commit 1' |
33755
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
340 nothing changed |
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
341 [1] |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
342 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
343 $ cd .. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
344 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
345 An I/O error during txnclose is handled |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
346 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
347 $ hg init ioerror-txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
348 $ cd ioerror-txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
349 $ echo 0 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
350 $ hg -q commit -A -m initial |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
351 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
352 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
353 warn during txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
354 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
355 $ echo 1 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
356 $ hg --config ui.ioerrors=txnclose commit -m 'error during txnclose' |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
357 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
358 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
359 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
360 $ hg commit -m 'commit 1' |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
361 nothing changed |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
362 [1] |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
363 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
364 $ cd .. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
365 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
366 An I/O error writing "transaction abort" is handled |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
367 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
368 $ hg init ioerror-msgabort |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
369 $ cd ioerror-msgabort |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
370 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
371 $ echo 0 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
372 $ hg -q commit -A -m initial |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
373 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
374 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
375 warn during txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
376 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
377 $ echo 1 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
378 $ hg --config ui.ioerrors=msgabort --config hooks.pretxncommit=false commit -m 'error during abort message' |
33755
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
379 warn during abort |
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
380 rollback completed |
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
381 abort: pretxncommit hook exited with status 1 |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
382 [255] |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
383 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
384 $ hg commit -m 'commit 1' |
33755
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
385 warn during pretxncommit |
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
386 warn during pretxnclose |
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
387 warn during txnclose |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
388 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
389 $ cd .. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
390 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
391 An I/O error during txnabort should still result in rollback |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
392 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
393 $ hg init ioerror-txnabort |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
394 $ cd ioerror-txnabort |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
395 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
396 $ echo 0 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
397 $ hg -q commit -A -m initial |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
398 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
399 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
400 warn during txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
401 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
402 $ echo 1 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
403 $ hg --config ui.ioerrors=txnabort --config hooks.pretxncommit=false commit -m 'error during abort' |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
404 transaction abort! |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
405 rollback completed |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
406 abort: pretxncommit hook exited with status 1 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
407 [255] |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
408 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
409 $ hg commit -m 'commit 1' |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
410 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
411 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
412 warn during txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
413 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
414 $ cd .. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
415 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
416 An I/O error writing "rollback completed" is handled |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
417 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
418 $ hg init ioerror-msgrollback |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
419 $ cd ioerror-msgrollback |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
420 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
421 $ echo 0 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
422 $ hg -q commit -A -m initial |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
423 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
424 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
425 warn during txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
426 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
427 $ echo 1 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
428 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
429 $ hg --config ui.ioerrors=msgrollback --config hooks.pretxncommit=false commit -m 'error during rollback message' |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
430 transaction abort! |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
431 warn during abort |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
432 abort: pretxncommit hook exited with status 1 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
433 [255] |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
434 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
435 $ hg verify |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
436 checking changesets |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
437 checking manifests |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
438 crosschecking files in changesets and manifests |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
439 checking files |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
36645
diff
changeset
|
440 checked 1 changesets with 1 changes to 1 files |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
441 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
442 $ cd .. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
443 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
444 Multiple I/O errors after transaction open are handled. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
445 This is effectively what happens if a peer disconnects in the middle |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
446 of a transaction. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
447 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
448 $ hg init ioerror-multiple |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
449 $ cd ioerror-multiple |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
450 $ echo 0 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
451 $ hg -q commit -A -m initial |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
452 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
453 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
454 warn during txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
455 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
456 $ echo 1 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
457 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
458 $ hg --config ui.ioerrors=pretxncommit,pretxnclose,txnclose,txnabort,msgabort,msgrollback commit -m 'multiple errors' |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
459 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
460 $ hg verify |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
461 checking changesets |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
462 checking manifests |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
463 crosschecking files in changesets and manifests |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
464 checking files |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
36645
diff
changeset
|
465 checked 2 changesets with 2 changes to 1 files |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
466 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
467 $ cd .. |