tests/test-manifestv2.t
author Martin von Zweigbergk <martinvonz@google.com>
Tue, 31 Mar 2015 22:45:45 -0700
changeset 24571 919f8ce040be
child 24573 701d3554de0e
permissions -rw-r--r--
manifestv2: set requires at repo creation time While it should be safe to switch to the new manifest format on an existing repo, let's keep it simple for now and make the configuration have any effect only at repo creation time. If the configuration is enabled then (at repo creation), we add an entry to requires and read that instead of the configuration from then on.

Check that entry is added to .hg/requires

  $ hg --config experimental.manifestv2=True init repo
  $ cd repo
  $ grep manifestv2 .hg/requires
  manifestv2

Set up simple repo

  $ echo a > file1
  $ echo b > file2
  $ echo c > file3
  $ hg ci -Aqm 'initial'
  $ echo d > file2
  $ hg ci -m 'modify file2'

Check that 'hg verify', which uses manifest.readdelta(), works

  $ hg verify
  checking changesets
  checking manifests
  crosschecking files in changesets and manifests
  checking files
  3 files, 2 changesets, 4 total revisions

TODO: Check that manifest revlog is smaller than for v1

  $ hg debugindex -m
     rev    offset  length   base linkrev nodeid       p1           p2
       0         0     106      0       0 f6279f9f8b31 000000000000 000000000000
       1       106      59      0       1 cd20459b75e6 f6279f9f8b31 000000000000