[PATCH] test-manifestv2.t: test that we can convert to manifestv2 with clone
Martin von Zweigbergk
martinvonz at google.com
Wed May 6 04:42:22 UTC 2015
On Tue, May 5, 2015 at 6:03 PM Drew Gottlieb <drgott at google.com> wrote:
> I agree. Matt, feel free to drop those two lines.
>
Done. I'll just go ahead and push this to the clowncopter since we have
already gotten a review by someone outside of our team (thanks, Adrian).
>
> On Tue, May 5, 2015 at 4:27 PM Adrian Buehlmann <adrian at cadifra.com>
> wrote:
>
>> On 2015-05-06 00:59, Drew Gottlieb wrote:
>> > # HG changeset patch
>> > # User Drew Gottlieb <drgott at google.com>
>> > # Date 1430865181 25200
>> > # Tue May 05 15:33:01 2015 -0700
>> > # Node ID 3df093b5de908329a655061d0d70662e9ec07c4c
>> > # Parent c5d4f9cc8da7bb2068457e96e4f74ff694514ced
>> > test-manifestv2.t: test that we can convert to manifestv2 with clone
>> >
>> > This just adds a test to ensure that we can convert a manifestv1 repo
>> to a
>> > manifestv2 repo (for future commits only) by means of a local clone.
>> >
>> > diff --git a/tests/test-manifestv2.t b/tests/test-manifestv2.t
>> > --- a/tests/test-manifestv2.t
>> > +++ b/tests/test-manifestv2.t
>> > @@ -1,4 +1,71 @@
>> > -Check that entry is added to .hg/requires
>> > +Create repo with old manifest
>> > +
>> > + $ hg init existing
>> > + $ cd existing
>> > + $ echo footext > foo
>> > + $ hg add foo
>> > + $ hg commit -m initial
>> > +
>> > +We're using v1, so no manifestv2 entry is in requires yet.
>> > +
>> > + $ grep manifestv2 .hg/requires
>> > + [1]
>> > +
>> > +Let's clone this with manifestv2 enabled to switch to the new format
>> for
>> > +future commits.
>> > +
>> > + $ cd ..
>> > + $ hg clone --pull existing new --config experimental.manifestv2=1
>> > + requesting all changes
>> > + adding changesets
>> > + adding manifests
>> > + adding file changes
>> > + added 1 changesets with 1 changes to 1 files
>> > + updating to branch default
>> > + 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>> > + $ cd new
>> > +
>> > +Check that entry was added to .hg/requires.
>> > +
>> > + $ grep manifestv2 .hg/requires
>> > + manifestv2
>> > +
>> > +Make a new commit.
>> > +
>> > + $ echo newfootext > foo
>> > + $ hg commit -m new
>> > +
>> > +Check that the manifest actually switched to v2.
>> > +
>> > + $ hg debugdata -m 0
>> > + foo\x0021e958b1dca695a60ee2e9cf151753204ee0f9e9 (esc)
>> > +
>> > + $ hg debugdata -m 1
>> > + \x00 (esc)
>> > + \x00foo\x00 (esc)
>> > + I\xab\x7f\xb8(\x83\xcas\x15\x9d\xc2\xd3\xd3:5\x08\xbad5_ (esc)
>> > +
>> > +Check that manifestv2 is used if the requirement is present, even if
>> it's
>> > +disabled in the config.
>> > +
>> > + $ echo newerfootext > foo
>> > + $ hg --config experimental.manifestv2=False commit -m newer
>> > +
>>
>> ..
>>
>> > + $ grep manifestv2 .hg/requires
>> > + manifestv2
>>
>> Nitpick: I think you can leave away this one (goal: keep tests as
>> minimal as possible). It's very unlikely that anyone ever manages to get
>> a patch in which would remove an entry from .hg/requires. That file is
>> written at repo creation.
>>
>> > + $ hg debugdata -m 2
>> > + \x00 (esc)
>> > + \x00foo\x00 (esc)
>> > + \xa6\xb1\xfb\xef]\x91\xa1\x19`\xf3.#\x90S\xf8\x06 \xe2\x19\x00 (esc)
>> > +
>> > +Check that we can still read v1 manifests.
>> > +
>> > + $ hg files -r 0
>> > + foo
>> > +
>> > + $ cd ..
>> > +
>> > +Check that entry is added to .hg/requires on repo creation
>> >
>> > $ hg --config experimental.manifestv2=True init repo
>> > $ cd repo
>>
>> Other than that: Nice testcase additions!
>>
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-devel/attachments/20150506/a0c25022/attachment-0002.html>
More information about the Mercurial-devel
mailing list