view tests/revlog-formatv0.py @ 44117:c5e0a9b97b8a

hgdemandimport: disable on Python 3.5 The demand importer functionality isn't working at all on Python 3.5. I'm not sure what's wrong. Since it isn't working, let's disable it completely. ``` $ HGRCPATH= hyperfine -w 1 -r 50 -- "~/.pyenv/versions/3.5.9/bin/python ./hg version" \ "HGDEMANDIMPORT=disable ~/.pyenv/versions/3.5.9/bin/python ./hg version" Benchmark #1: ~/.pyenv/versions/3.5.9/bin/python ./hg version Time (mean ± σ): 163.7 ms ± 2.2 ms [User: 148.5 ms, System: 15.7 ms] Range (min … max): 161.0 ms … 170.2 ms 50 runs Benchmark #2: HGDEMANDIMPORT=disable ~/.pyenv/versions/3.5.9/bin/python ./hg version Time (mean ± σ): 164.3 ms ± 1.4 ms [User: 148.2 ms, System: 16.6 ms] Range (min … max): 161.4 ms … 169.8 ms 50 runs ``` Differential Revision: https://phab.mercurial-scm.org/D7953
author Gregory Szorc <gregory.szorc@gmail.com>
date Mon, 20 Jan 2020 23:42:19 -0800
parents 2372284d9457
children c102b704edb5
line wrap: on
line source

#!/usr/bin/env python
# Copyright 2010 Intevation GmbH
# Author(s):
# Thomas Arendsen Hein <thomas@intevation.de>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.

"""Create a Mercurial repository in revlog format 0

changeset:   0:a1ef0b125355
tag:         tip
user:        user
date:        Thu Jan 01 00:00:00 1970 +0000
files:       empty
description:
empty file
"""

from __future__ import absolute_import
import binascii
import os
import sys

files = [
    (
        b'formatv0/.hg/00changelog.i',
        b'000000000000004400000000000000000000000000000000000000'
        b'000000000000000000000000000000000000000000000000000000'
        b'0000a1ef0b125355d27765928be600cfe85784284ab3',
    ),
    (
        b'formatv0/.hg/00changelog.d',
        b'756163613935613961356635353036303562366138343738336237'
        b'61623536363738616436356635380a757365720a3020300a656d70'
        b'74790a0a656d7074792066696c65',
    ),
    (
        b'formatv0/.hg/00manifest.i',
        b'000000000000003000000000000000000000000000000000000000'
        b'000000000000000000000000000000000000000000000000000000'
        b'0000aca95a9a5f550605b6a84783b7ab56678ad65f58',
    ),
    (
        b'formatv0/.hg/00manifest.d',
        b'75656d707479006238306465356431333837353835343163356630'
        b'35323635616431343461623966613836643164620a',
    ),
    (
        b'formatv0/.hg/data/empty.i',
        b'000000000000000000000000000000000000000000000000000000'
        b'000000000000000000000000000000000000000000000000000000'
        b'0000b80de5d138758541c5f05265ad144ab9fa86d1db',
    ),
    (b'formatv0/.hg/data/empty.d', b''),
]


def makedirs(name):
    """recursive directory creation"""
    parent = os.path.dirname(name)
    if parent:
        makedirs(parent)
    os.mkdir(name)


makedirs(os.path.join(*'formatv0/.hg/data'.split('/')))

for name, data in files:
    f = open(name, 'wb')
    f.write(binascii.unhexlify(data))
    f.close()

sys.exit(0)