Mercurial > hg
view tests/revlog-formatv0.py @ 47389:e6292eb33384
revlog: store sidedata in their own file
This makes sidedata manipulation simpler and results in more compact data when
traversing either data or sidedata.
Differential Revision: https://phab.mercurial-scm.org/D10787
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 28 May 2021 23:41:17 +0200 |
parents | c102b704edb5 |
children | 6000f5b25c9b |
line wrap: on
line source
#!/usr/bin/env python3 # 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)