tests/revlog-formatv0.py
author Gregory Szorc <gregory.szorc@gmail.com>
Tue, 11 Sep 2018 17:20:14 -0700
changeset 39552 4c807ec07888
parent 36565 9805c906aaad
child 43076 2372284d9457
permissions -rwxr-xr-x
commands: pass include and exclude options to hg.clone() These arguments are defined by the narrow extension. Let's teach core to recognize them so we can delete some code from the narrow extension and start to exercise the in-core code for performing a narrow clone. We have no way of easily testing it, but this change should result in .hg/requires having the narrow requirement from the time the file is written rather than added as part of pull. We'll confirm this when we delete some monkeypatched functions from the narrow extension in later commits. Test output changed because hg.clone() is now receiving patterns and validation of those values is occurring sooner, before the exchange code runs and prints the message that was deleted. Differential Revision: https://phab.mercurial-scm.org/D4538
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
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 = [
35570
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    26
    (b'formatv0/.hg/00changelog.i',
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    27
     b'000000000000004400000000000000000000000000000000000000'
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    28
     b'000000000000000000000000000000000000000000000000000000'
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    29
     b'0000a1ef0b125355d27765928be600cfe85784284ab3'),
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    30
    (b'formatv0/.hg/00changelog.d',
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    31
     b'756163613935613961356635353036303562366138343738336237'
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    32
     b'61623536363738616436356635380a757365720a3020300a656d70'
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    33
     b'74790a0a656d7074792066696c65'),
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    34
    (b'formatv0/.hg/00manifest.i',
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    35
     b'000000000000003000000000000000000000000000000000000000'
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    36
     b'000000000000000000000000000000000000000000000000000000'
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    37
     b'0000aca95a9a5f550605b6a84783b7ab56678ad65f58'),
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    38
    (b'formatv0/.hg/00manifest.d',
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    39
     b'75656d707479006238306465356431333837353835343163356630'
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    40
     b'35323635616431343461623966613836643164620a'),
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    41
    (b'formatv0/.hg/data/empty.i',
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    42
     b'000000000000000000000000000000000000000000000000000000'
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    43
     b'000000000000000000000000000000000000000000000000000000'
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    44
     b'0000b80de5d138758541c5f05265ad144ab9fa86d1db'),
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    45
    (b'formatv0/.hg/data/empty.d',
3e3f4c03876b tests: add b'' to string literals where bytes are required
Pulkit Goyal <7895pulkit@gmail.com>
parents: 28945
diff changeset
    46
     b''),
12170
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    47
]
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    48
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    49
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
    50
    """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
    51
    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
    52
    if parent:
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    53
        makedirs(parent)
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    54
    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
    55
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    56
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
    57
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    58
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
    59
    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
    60
    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
    61
    f.close()
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    62
581066a319e5 verify: fix "missing revlog!" errors for revlog format v0 and add test
Thomas Arendsen Hein <thomas@intevation.de>
parents:
diff changeset
    63
sys.exit(0)