Mercurial > hg
annotate tests/test-journal-exists.t @ 47072:4c041c71ec01
revlog: introduce an explicit tracking of what the revlog is about
Since the dawn of time, people have been forced to rely to lossy introspection
of the index filename to determine what the purpose and role of the revlog they
encounter is. This is hacky, error prone, inflexible, abstraction-leaky,
<insert-your-own-complaints-here>.
In f63299ee7e4d Raphaël introduced a new attribute to track this information:
`revlog_kind`. However it is initialized in an odd place and various instances
end up not having it set. In addition is only tracking some of the information
we end up having to introspect in various pieces of code.
So we add a new attribute that holds more data and is more strictly enforced.
This work is done in collaboration with Raphaël.
The `revlog_kind` one will be removed/adapted in the next changeset. We expect
to be able to clean up various existing piece of code and to simplify coming
work around the newer revlog format.
Differential Revision: https://phab.mercurial-scm.org/D10352
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 06 Apr 2021 05:20:24 +0200 |
parents | 95c4cca641f6 |
children | 55c6ebd11cb9 |
rev | line source |
---|---|
12205
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
1 $ hg init |
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
2 $ echo a > a |
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
3 $ hg ci -Am0 |
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
4 adding a |
5865
e7127f669edb
transactions: don't show a backtrace when journal exists
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
5 |
12205
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
6 $ hg -q clone . foo |
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
7 |
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
8 $ touch .hg/store/journal |
5865
e7127f669edb
transactions: don't show a backtrace when journal exists
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
9 |
12205
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
10 $ echo foo > a |
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
11 $ hg ci -Am0 |
45906
95c4cca641f6
errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents:
44355
diff
changeset
|
12 abort: abandoned transaction found |
21274
3b4c75690206
journal: set Abort hint when failing due to an abandoned transaction
Johan Bjork <jbjoerk@gmail.com>
parents:
20008
diff
changeset
|
13 (run 'hg recover' to clean up transaction) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12205
diff
changeset
|
14 [255] |
5865
e7127f669edb
transactions: don't show a backtrace when journal exists
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
15 |
12205
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
16 $ hg recover |
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
17 rolling back interrupted transaction |
44355
7a4e1d245f19
recover: don't verify by default
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
44134
diff
changeset
|
18 (verify step skipped, run `hg verify` to check your repository content) |
5865
e7127f669edb
transactions: don't show a backtrace when journal exists
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
19 |
44134
e96ed3a61899
recover: fix typos
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
42144
diff
changeset
|
20 recover, explicit verify |
42144
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
21 |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
22 $ touch .hg/store/journal |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
23 $ hg ci -Am0 |
45906
95c4cca641f6
errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents:
44355
diff
changeset
|
24 abort: abandoned transaction found |
42144
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
25 (run 'hg recover' to clean up transaction) |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
26 [255] |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
27 $ hg recover --verify |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
28 rolling back interrupted transaction |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
29 checking changesets |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
30 checking manifests |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
31 crosschecking files in changesets and manifests |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
32 checking files |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
33 checked 1 changesets with 1 changes to 1 files |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
34 |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
35 recover, no verify |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
36 |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
37 $ touch .hg/store/journal |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
38 $ hg ci -Am0 |
45906
95c4cca641f6
errors: remove trailing "!" from some error messages for consistency
Martin von Zweigbergk <martinvonz@google.com>
parents:
44355
diff
changeset
|
39 abort: abandoned transaction found |
42144
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
40 (run 'hg recover' to clean up transaction) |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
41 [255] |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
42 $ hg recover --no-verify |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
43 rolling back interrupted transaction |
44134
e96ed3a61899
recover: fix typos
Valentin Gatien-Baron <vgatien-baron@janestreet.com>
parents:
42144
diff
changeset
|
44 (verify step skipped, run `hg verify` to check your repository content) |
42144
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
45 |
013de80bf90e
recover: add a --[no-]verify flag
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
41420
diff
changeset
|
46 |
12205
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
47 Check that zero-size journals are correctly aborted: |
9693
c40a1ee20aa5
transaction: always remove empty journal on abort
Sune Foldager <cryo@cyanite.org>
parents:
5867
diff
changeset
|
48 |
20008
e54a078153f7
tests: skip tests that require not having root (issue4089)
Matt Mackall <mpm@selenic.com>
parents:
16959
diff
changeset
|
49 #if unix-permissions no-root |
12205
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
50 $ hg bundle -qa repo.hg |
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
51 $ chmod -w foo/.hg/store/00changelog.i |
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
52 |
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
53 $ hg -R foo unbundle repo.hg |
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
54 adding changesets |
41420
b6673e9bdcf6
dispatch: quote filename in IOError as well
Yuya Nishihara <yuya@tcha.org>
parents:
39489
diff
changeset
|
55 abort: Permission denied: '$TESTTMP/foo/.hg/store/.00changelog.i-*' (glob) |
12316
4134686b83e1
tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents:
12205
diff
changeset
|
56 [255] |
12205
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
57 |
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
58 $ if test -f foo/.hg/store/journal; then echo 'journal exists :-('; fi |
16959
acba1281e064
test-journal-exists: use #if
Adrian Buehlmann <adrian@cadifra.com>
parents:
15443
diff
changeset
|
59 #endif |
12205
b4d0d646b3f7
tests: unify test-journal-exists
Adrian Buehlmann <adrian@cadifra.com>
parents:
9693
diff
changeset
|
60 |