annotate tests/revlog-formatv0.py @ 44449:98f7b9cf7bfc

phabricator: pass old `fctx` to `addoldbinary()` instead of inferring it Currently, removed binaries aren't marked as binaries on the left side, which sends the raw file view to a bad URL in the web interface. (See D8009) In order to handle marking the file as binary in the removed case, both contexts need to be provided by the caller, since there is no current fctx in the removed case. Having an explicit old fctx will also be useful to support a `--no-stack` option that rolls up the commit stack into a single review. The bug isn't fixed with this change- there's a missing call to it in `addremoved()` as well. But instead of spamming the list with a bunch of test diffs, all of the missing binary issues will be fixed at once later. Differential Revision: https://phab.mercurial-scm.org/D8218
author Matt Harbison <matt_harbison@yahoo.com>
date Wed, 19 Feb 2020 13:33:58 -0500
parents 2372284d9457
children c102b704edb5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12170
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
1 #!/usr/bin/env python
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
36594
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: 36594
diff changeset
26 (
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
27 b'formatv0/.hg/00changelog.i',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
28 b'000000000000004400000000000000000000000000000000000000'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
29 b'000000000000000000000000000000000000000000000000000000'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
30 b'0000a1ef0b125355d27765928be600cfe85784284ab3',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
31 ),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
32 (
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
33 b'formatv0/.hg/00changelog.d',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
34 b'756163613935613961356635353036303562366138343738336237'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
35 b'61623536363738616436356635380a757365720a3020300a656d70'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
36 b'74790a0a656d7074792066696c65',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
37 ),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
38 (
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
39 b'formatv0/.hg/00manifest.i',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
40 b'000000000000003000000000000000000000000000000000000000'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
41 b'000000000000000000000000000000000000000000000000000000'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
42 b'0000aca95a9a5f550605b6a84783b7ab56678ad65f58',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
43 ),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
44 (
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
45 b'formatv0/.hg/00manifest.d',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
46 b'75656d707479006238306465356431333837353835343163356630'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
47 b'35323635616431343461623966613836643164620a',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
48 ),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
49 (
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
50 b'formatv0/.hg/data/empty.i',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
51 b'000000000000000000000000000000000000000000000000000000'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
52 b'000000000000000000000000000000000000000000000000000000'
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
53 b'0000b80de5d138758541c5f05265ad144ab9fa86d1db',
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
diff changeset
54 ),
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 36594
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: 36594
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: 36594
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')
36594
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)