Mercurial > hg
annotate tests/test-rollback.t @ 46197:2607a9346398
branchmap: micro-optimize branchinfo
changelogrevision() is supposed to be used if not all data of
changelog.read is used. This is the case here as only the extra field is
used. This also improves extensibility as at least hgext.git doesn't
implement changelog.read.
Differential Revision: https://phab.mercurial-scm.org/D9626
author | Joerg Sonnenberger <joerg@bec.de> |
---|---|
date | Thu, 17 Dec 2020 13:29:50 +0100 |
parents | c6d31e659a28 |
children | 768056549737 |
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 |
44733
c6d31e659a28
commit: tell user what to do with .hg/last-message.txt
Martin von Zweigbergk <martinvonz@google.com>
parents:
44355
diff
changeset
|
119 note: use 'hg commit --logfile .hg/last-message.txt --edit' to reuse it |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
120 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
|
121 [255] |
bb35840e965c
tests: remove the last traces of $HGTMP
Mads Kiilerich <mads@kiilerich.com>
parents:
12485
diff
changeset
|
122 $ cat .hg/last-message.txt |
12485
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
123 another precious commit message |
8fdc11fec6ae
tests: unify test-rollback
Matt Mackall <mpm@selenic.com>
parents:
12156
diff
changeset
|
124 |
13958
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
125 test rollback on served repository |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
126 |
16916
c76175cd1415
test-rollback: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
16913
diff
changeset
|
127 #if serve |
13958
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
128 $ hg commit -m "precious commit message" |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
129 $ 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
|
130 $ cat hg.pid >> $DAEMON_PIDS |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
131 $ cd .. |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
132 $ hg clone http://localhost:$HGPORT u |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
133 requesting all changes |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
134 adding changesets |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
135 adding manifests |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
136 adding file changes |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
137 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
|
138 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
|
139 updating to branch default |
13958
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
140 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
|
141 $ cd u |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
142 $ hg id default |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
143 068774709090 |
13958
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
144 |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
145 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
|
146 presents the correct tip changeset: |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
147 |
71f51cc71652
hgweb: detect change based on changelog size too
Martin Geisler <mg@lazybytes.net>
parents:
13957
diff
changeset
|
148 $ hg -R ../t rollback |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
149 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
|
150 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
|
151 $ hg id default |
15131
7c26ce9edbd2
rollback: only restore dirstate and branch when appropriate.
Greg Ward <greg@gerg.ca>
parents:
15130
diff
changeset
|
152 791dd2169706 |
31770
3ed26ba54685
test-serve: kill daemons before deleting the access and error logs
Matt Harbison <matt_harbison@yahoo.com>
parents:
29086
diff
changeset
|
153 |
3ed26ba54685
test-serve: kill daemons before deleting the access and error logs
Matt Harbison <matt_harbison@yahoo.com>
parents:
29086
diff
changeset
|
154 $ killdaemons.py |
16916
c76175cd1415
test-rollback: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents:
16913
diff
changeset
|
155 #endif |
15183
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
156 |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
157 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
|
158 that would lose data (issue2998) |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
159 $ cd ../t |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
160 $ hg -q update |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
161 $ rm `hg status -un` |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
162 $ 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
|
163 $ echo 'valuable new file' > b |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
164 $ echo 'valuable modification' >> a |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
165 $ 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
|
166 adding b |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
167 $ hg update 0 |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
168 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
|
169 $ hg rollback |
15187
0292f88d3b86
rollback: use a hint for force
Matt Mackall <mpm@selenic.com>
parents:
15183
diff
changeset
|
170 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
|
171 (use -f to force) |
15183
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
172 [255] |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
173 $ hg tip -q |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
174 2:4d9cd3795eea |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
175 $ hg rollback -f |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
176 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
|
177 $ hg status |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
178 $ 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
|
179 |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
180 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
|
181 $ hg -q update |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
182 $ echo 'valuable modification redux' >> a |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
183 $ 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
|
184 $ rm .hg/undo.desc |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
185 $ hg update 0 |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
186 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
|
187 $ hg rollback |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
188 rolling back unknown transaction |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
189 $ cat a |
59e8bc22506e
rollback: avoid unsafe rollback when not at tip (issue2998)
Greg Ward <greg@gerg.ca>
parents:
15131
diff
changeset
|
190 a |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
16901
diff
changeset
|
191 |
20524
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
192 corrupt journal test |
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
193 $ echo "foo" > .hg/store/journal |
44355
7a4e1d245f19
recover: don't verify by default
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
41362
diff
changeset
|
194 $ hg recover --verify |
20524
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
195 rolling back interrupted transaction |
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
196 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
|
197 checking changesets |
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
198 checking manifests |
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
199 crosschecking files in changesets and manifests |
28b8ff84db3f
journal: report parsing errors on recover/rollback (issue4172)
Matt Mackall <mpm@selenic.com>
parents:
16916
diff
changeset
|
200 checking files |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
36645
diff
changeset
|
201 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
|
202 |
29086
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
203 rollback disabled by config |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
204 $ cat >> $HGRCPATH <<EOF |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
205 > [ui] |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
206 > rollback = false |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
207 > EOF |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
208 $ 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
|
209 $ 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
|
210 $ 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
|
211 $ hg rollback |
fe50341de1ff
rollback: add a config knob for entirely disabling the command
Augie Fackler <augie@google.com>
parents:
26998
diff
changeset
|
212 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
|
213 (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
|
214 [255] |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
215 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
216 $ cd .. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
217 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
218 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
|
219 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
220 $ cat > badui.py << EOF |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
221 > import errno |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
222 > from mercurial.i18n import _ |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
223 > from mercurial import ( |
36645
7bc33d677c0c
tests: fix various test-check-module-imports.t violations
Augie Fackler <augie@google.com>
parents:
36486
diff
changeset
|
224 > error, |
34766
d957d4475a64
configitems: register the test 'ui.ioerrors' config
Boris Feld <boris.feld@octobus.net>
parents:
34661
diff
changeset
|
225 > registrar, |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
226 > ui as uimod, |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
227 > ) |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
228 > |
34766
d957d4475a64
configitems: register the test 'ui.ioerrors' config
Boris Feld <boris.feld@octobus.net>
parents:
34661
diff
changeset
|
229 > configtable = {} |
d957d4475a64
configitems: register the test 'ui.ioerrors' config
Boris Feld <boris.feld@octobus.net>
parents:
34661
diff
changeset
|
230 > configitem = registrar.configitem(configtable) |
d957d4475a64
configitems: register the test 'ui.ioerrors' config
Boris Feld <boris.feld@octobus.net>
parents:
34661
diff
changeset
|
231 > |
36486
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
232 > configitem(b'ui', b'ioerrors', |
34766
d957d4475a64
configitems: register the test 'ui.ioerrors' config
Boris Feld <boris.feld@octobus.net>
parents:
34661
diff
changeset
|
233 > default=list, |
d957d4475a64
configitems: register the test 'ui.ioerrors' config
Boris Feld <boris.feld@octobus.net>
parents:
34661
diff
changeset
|
234 > ) |
d957d4475a64
configitems: register the test 'ui.ioerrors' config
Boris Feld <boris.feld@octobus.net>
parents:
34661
diff
changeset
|
235 > |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
236 > 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
|
237 > 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
|
238 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
239 > 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
|
240 > 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
|
241 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
242 > 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
|
243 > 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
|
244 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
245 > 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
|
246 > 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
|
247 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
248 > class fdproxy(object): |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
249 > def __init__(self, ui, o): |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
250 > self._ui = ui |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
251 > self._o = o |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
252 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
253 > def __getattr__(self, attr): |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
254 > return getattr(self._o, attr) |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
255 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
256 > def write(self, msg): |
36486
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
257 > 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
|
258 > 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
|
259 > 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
|
260 > 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
|
261 > 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
|
262 > 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
|
263 > 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
|
264 > |
36486
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
265 > 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
|
266 > 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
|
267 > 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
|
268 > 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
|
269 > 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
|
270 > 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
|
271 > 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
|
272 > 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
|
273 > 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
|
274 > 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
|
275 > 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
|
276 > 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
|
277 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
278 > return self._o.write(msg) |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
279 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
280 > def uisetup(ui): |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
281 > class badui(ui.__class__): |
40541
c2aea007130b
ui: add inner function to select write destination
Yuya Nishihara <yuya@tcha.org>
parents:
39489
diff
changeset
|
282 > 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
|
283 > olderr = self.ferr |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
284 > try: |
40541
c2aea007130b
ui: add inner function to select write destination
Yuya Nishihara <yuya@tcha.org>
parents:
39489
diff
changeset
|
285 > if dest is self.ferr: |
c2aea007130b
ui: add inner function to select write destination
Yuya Nishihara <yuya@tcha.org>
parents:
39489
diff
changeset
|
286 > self.ferr = dest = fdproxy(self, olderr) |
c2aea007130b
ui: add inner function to select write destination
Yuya Nishihara <yuya@tcha.org>
parents:
39489
diff
changeset
|
287 > 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
|
288 > finally: |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
289 > self.ferr = olderr |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
290 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
291 > ui.__class__ = badui |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
292 > |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
293 > def reposetup(ui, repo): |
36486
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'pretxnclose.badui', pretxnclose, 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'txnclose.badui', txnclose, 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'pretxncommit.badui', pretxncommit, b'badui') |
fb9b8004e1b0
py3: add b'' prefixes in tests/test-rollback.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
34766
diff
changeset
|
297 > 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
|
298 > EOF |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
299 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
300 $ cat >> $HGRCPATH << EOF |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
301 > [extensions] |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
302 > badui = $TESTTMP/badui.py |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
303 > EOF |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
304 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
305 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
|
306 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
307 $ hg init ioerror-pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
308 $ cd ioerror-pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
309 $ echo 0 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
310 $ 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
|
311 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
312 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
313 warn during txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
314 $ echo 1 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
315 $ 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
|
316 warn during pretxnclose |
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
317 warn during txnclose |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
318 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
319 $ 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
|
320 nothing changed |
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
321 [1] |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
322 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
323 $ cd .. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
324 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
325 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
|
326 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
327 $ hg init ioerror-pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
328 $ cd ioerror-pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
329 $ echo 0 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
330 $ 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
|
331 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
332 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
333 warn during txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
334 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
335 $ echo 1 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
336 $ 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
|
337 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
|
338 warn during txnclose |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
339 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
340 $ 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
|
341 nothing changed |
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
342 [1] |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
343 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
344 $ cd .. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
345 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
346 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
|
347 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
348 $ hg init ioerror-txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
349 $ cd ioerror-txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
350 $ echo 0 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
351 $ 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
|
352 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
353 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
354 warn during txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
355 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
356 $ echo 1 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
357 $ 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
|
358 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
359 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
360 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
361 $ hg commit -m 'commit 1' |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
362 nothing changed |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
363 [1] |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
364 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
365 $ cd .. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
366 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
367 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
|
368 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
369 $ hg init ioerror-msgabort |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
370 $ cd ioerror-msgabort |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
371 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
372 $ echo 0 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
373 $ 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
|
374 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
375 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
376 warn during txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
377 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
378 $ echo 1 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
379 $ 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
|
380 warn during abort |
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
381 rollback completed |
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
382 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
|
383 [255] |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
384 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
385 $ 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
|
386 warn during pretxncommit |
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
387 warn during pretxnclose |
cde4cfeb6e3e
ui: restore behavior to ignore some I/O errors (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
33754
diff
changeset
|
388 warn during txnclose |
33754
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
389 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
390 $ cd .. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
391 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
392 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
|
393 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
394 $ hg init ioerror-txnabort |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
395 $ cd ioerror-txnabort |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
396 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
397 $ echo 0 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
398 $ 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
|
399 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
400 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
401 warn during txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
402 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
403 $ echo 1 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
404 $ 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
|
405 transaction abort! |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
406 rollback completed |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
407 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
|
408 [255] |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
409 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
410 $ hg commit -m 'commit 1' |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
411 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
412 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
413 warn during txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
414 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
415 $ cd .. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
416 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
417 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
|
418 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
419 $ hg init ioerror-msgrollback |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
420 $ cd ioerror-msgrollback |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
421 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
422 $ echo 0 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
423 $ 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
|
424 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
425 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
426 warn during txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
427 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
428 $ echo 1 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
429 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
430 $ 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
|
431 transaction abort! |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
432 warn during abort |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
433 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
|
434 [255] |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
435 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
436 $ hg verify |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
437 checking changesets |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
438 checking manifests |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
439 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
|
440 checking files |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
36645
diff
changeset
|
441 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
|
442 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
443 $ cd .. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
444 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
445 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
|
446 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
|
447 of a transaction. |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
448 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
449 $ hg init ioerror-multiple |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
450 $ cd ioerror-multiple |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
451 $ echo 0 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
452 $ 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
|
453 warn during pretxncommit |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
454 warn during pretxnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
455 warn during txnclose |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
456 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
457 $ echo 1 > foo |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
458 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
459 $ 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
|
460 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
461 $ hg verify |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
462 checking changesets |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
463 checking manifests |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
464 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
|
465 checking files |
39489
f1186c292d03
verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents:
36645
diff
changeset
|
466 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
|
467 |
2debf1e3cfa4
tests: test behavior of IOError during transactions (issue5658)
Gregory Szorc <gregory.szorc@gmail.com>
parents:
31770
diff
changeset
|
468 $ cd .. |