mirror of
https://github.com/facebook/sapling.git
synced 2024-12-26 22:47:26 +03:00
09d7bb259c
Summary: Most of these tests use `file` instead of `open` for opening files, which is removed in Python 3. And when we open files in byte mode, Python disallows writing `str` into such files, so we add `b` prefix to write actual bytes instead. There are some other minor problems like reading from `sys.stdin` gives you `str` while expecting `bytes`. The solution is to use `sys.stdin.buffer` instead. However, Python 2 does not have `sys.stdin.buffer` so we have to do a version check to provide compatibility. Reviewed By: quark-zju Differential Revision: D19606357 fbshipit-source-id: e9177134294f03af8b581230a57902c3435b319a
82 lines
2.0 KiB
Python
Executable File
82 lines
2.0 KiB
Python
Executable File
#!/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
|
|
user: user
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
files: empty
|
|
description:
|
|
empty file
|
|
"""
|
|
|
|
from __future__ import absolute_import
|
|
|
|
import os
|
|
import sys
|
|
|
|
|
|
# PY3-compat
|
|
if sys.version_info[0] >= 3:
|
|
fromhex = bytes.fromhex
|
|
else:
|
|
fromhex = lambda x: x.decode("hex")
|
|
|
|
|
|
files = [
|
|
(
|
|
"formatv0/.hg/00changelog.i",
|
|
"000000000000004400000000000000000000000000000000000000"
|
|
"000000000000000000000000000000000000000000000000000000"
|
|
"0000a1ef0b125355d27765928be600cfe85784284ab3",
|
|
),
|
|
(
|
|
"formatv0/.hg/00changelog.d",
|
|
"756163613935613961356635353036303562366138343738336237"
|
|
"61623536363738616436356635380a757365720a3020300a656d70"
|
|
"74790a0a656d7074792066696c65",
|
|
),
|
|
(
|
|
"formatv0/.hg/00manifest.i",
|
|
"000000000000003000000000000000000000000000000000000000"
|
|
"000000000000000000000000000000000000000000000000000000"
|
|
"0000aca95a9a5f550605b6a84783b7ab56678ad65f58",
|
|
),
|
|
(
|
|
"formatv0/.hg/00manifest.d",
|
|
"75656d707479006238306465356431333837353835343163356630"
|
|
"35323635616431343461623966613836643164620a",
|
|
),
|
|
(
|
|
"formatv0/.hg/data/empty.i",
|
|
"000000000000000000000000000000000000000000000000000000"
|
|
"000000000000000000000000000000000000000000000000000000"
|
|
"0000b80de5d138758541c5f05265ad144ab9fa86d1db",
|
|
),
|
|
("formatv0/.hg/data/empty.d", ""),
|
|
]
|
|
|
|
|
|
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(fromhex(data))
|
|
f.close()
|
|
|
|
sys.exit(0)
|