changeset 12172:74f54b7775f2

merge with stable
author Thomas Arendsen Hein <thomas@intevation.de>
date Mon, 06 Sep 2010 07:14:18 +0200
parents cc39d07d2212 (current diff) 581066a319e5 (diff)
children 5b849148b620
files tests/test-verify.t
diffstat 3 files changed, 75 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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