Mercurial > hg
view tests/revlog-formatv0.py @ 22150:45b5cd948a4d
repoview: add caching bits
Add a caching infrastructure to cache hidden changesets. The cache tries to read
the cache lazily and falls back to recomputing if no wlock can be obtain.
To validate the cache we store a sha of the obstore content and repo heads in
the beginning of the cache which we check every request.
author | David Soria Parra <davidsp@fb.com> |
---|---|
date | Tue, 12 Aug 2014 16:48:54 -0700 |
parents | 581066a319e5 |
children | 05982f7ab231 |
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 """ import os, sys 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(data.decode('hex')) f.close() sys.exit(0)