annotate tests/revlog-formatv0.py @ 46526:67b5fafd3a46

upgrade: speed up when we have only nodemap to downgrade Similar to what we do on upgrade, if we have only persistent-nodemap to downgrade we will just delete the nodemap files and update repository requirements instead of processing all the revlogs. After downgrade, we are left with unrequired docket and transaction files which seems fine but can work on deleting them if someone feels we should. Differential Revision: https://phab.mercurial-scm.org/D9992
author Pulkit Goyal <7895pulkit@gmail.com>
date Wed, 10 Feb 2021 17:08:34 +0530
parents c102b704edb5
children 6000f5b25c9b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
45830
c102b704edb5 global: use python3 in shebangs
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43076
diff changeset
1 #!/usr/bin/env python3
12170
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
2 # Copyright 2010 Intevation GmbH
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
3 # Author(s):
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
4 # Thomas Arendsen Hein <thomas@intevation.de>
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
5 #
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
6 # This software may be used and distributed according to the terms of the
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
7 # GNU General Public License version 2 or any later version.
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
8
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
9 """Create a Mercurial repository in revlog format 0
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
10
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
11 changeset: 0:a1ef0b125355
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
12 tag: tip
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
13 user: user
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
14 date: Thu Jan 01 00:00:00 1970 +0000
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
15 files: empty
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
16 description:
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
17 empty file
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
18 """
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
19
28945
05982f7ab231 py3: use absolute_import in revlog-formatv0.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 12170
diff changeset
20 from __future__ import absolute_import
36565
9805c906aaad tests: port helper script revlog-formatv0.py to python 3
Augie Fackler <augie@google.com>
parents: 35570
diff changeset
21 import binascii
28945
05982f7ab231 py3: use absolute_import in revlog-formatv0.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 12170
diff changeset
22 import os
05982f7ab231 py3: use absolute_import in revlog-formatv0.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 12170
diff changeset
23 import sys
12170
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
24
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
25 files = [
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
26 (
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
27 b'formatv0/.hg/00changelog.i',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
28 b'000000000000004400000000000000000000000000000000000000'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
29 b'000000000000000000000000000000000000000000000000000000'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
30 b'0000a1ef0b125355d27765928be600cfe85784284ab3',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
31 ),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
32 (
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
33 b'formatv0/.hg/00changelog.d',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
34 b'756163613935613961356635353036303562366138343738336237'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
35 b'61623536363738616436356635380a757365720a3020300a656d70'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
36 b'74790a0a656d7074792066696c65',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
37 ),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
38 (
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
39 b'formatv0/.hg/00manifest.i',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
40 b'000000000000003000000000000000000000000000000000000000'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
41 b'000000000000000000000000000000000000000000000000000000'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
42 b'0000aca95a9a5f550605b6a84783b7ab56678ad65f58',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
43 ),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
44 (
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
45 b'formatv0/.hg/00manifest.d',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
46 b'75656d707479006238306465356431333837353835343163356630'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
47 b'35323635616431343461623966613836643164620a',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
48 ),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
49 (
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
50 b'formatv0/.hg/data/empty.i',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
51 b'000000000000000000000000000000000000000000000000000000'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
52 b'000000000000000000000000000000000000000000000000000000'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
53 b'0000b80de5d138758541c5f05265ad144ab9fa86d1db',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
54 ),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
55 (b'formatv0/.hg/data/empty.d', b''),
12170
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
56 ]
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
57
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
58
12170
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
59 def makedirs(name):
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
60 """recursive directory creation"""
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
61 parent = os.path.dirname(name)
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
62 if parent:
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
63 makedirs(parent)
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
64 os.mkdir(name)
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
65
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36565
diff changeset
66
12170
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
67 makedirs(os.path.join(*'formatv0/.hg/data'.split('/')))
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
68
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
69 for name, data in files:
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
70 f = open(name, 'wb')
36565
9805c906aaad tests: port helper script revlog-formatv0.py to python 3
Augie Fackler <augie@google.com>
parents: 35570
diff changeset
71 f.write(binascii.unhexlify(data))
12170
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
72 f.close()
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
73
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
74 sys.exit(0)