--- a/mercurial/verify.py Sun Sep 05 21:00:04 2010 +0200
+++ b/mercurial/verify.py Mon Sep 06 07:14:18 2010 +0200
@@ -199,7 +199,7 @@
for f, f2, size in repo.store.datafiles():
if not f:
err(None, _("cannot decode filename '%s'") % f2)
- elif size > 0:
+ elif size > 0 or not revlogv1:
storefiles.add(f)
files = sorted(set(filenodes) | set(filelinkrevs))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/revlog-formatv0.py Mon Sep 06 07:14:18 2010 +0200
@@ -0,0 +1,60 @@
+#!/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)
--- a/tests/test-verify.t Sun Sep 05 21:00:04 2010 +0200
+++ b/tests/test-verify.t Mon Sep 06 07:14:18 2010 +0200
@@ -84,4 +84,18 @@
1 integrity errors encountered!
(first damaged changeset appears to be 0)
+ $ cd ..
+
+test revlog format 0
+
+ $ "$TESTDIR/revlog-formatv0.py"
+ $ cd formatv0
+ $ hg verify
+ repository uses revlog format 0
+ checking changesets
+ checking manifests
+ crosschecking files in changesets and manifests
+ checking files
+ 1 files, 1 changesets, 1 total revisions
+
$ exit 0