sapling/tests/test-globalrevs-requires.t
Durham Goode ad813edcbd treemanifest: enable treemanifest by default in tests
Summary:
Now that all our repos are treemanifest, let's enable the extension by
default in tests. Once we're certain no one needs it in production we'll also
make it the default in core Mercurial.

This diff includes a minor fix in treemanifest to be aware of always-enabled
extensions. It won't matter until we actually add treemanifest to the list of
default enabled extensions, but I caught this while testing things.

Reviewed By: ikostia

Differential Revision: D15030253

fbshipit-source-id: d8361f915928b6ad90665e6ed330c1df5c8d8d86
2019-05-28 03:17:02 -07:00

58 lines
1.2 KiB
Perl

$ . "$TESTDIR/hgsql/library.sh"
$ setconfig extensions.treemanifest=!
Add common configuration for the client and server.
$ cat >> $HGRCPATH <<EOF
> [extensions]
> pushrebase=
> EOF
Configure the server
$ hg init --config extensions.hgsql= --config extensions.globalrevs= \
> --config format.useglobalrevs=True master
$ configureserver master masterrepo
$ cd master
$ cat >> .hg/hgrc <<EOF
> [extensions]
> globalrevs=
> [pushrebase]
> blocknonpushrebase = True
> EOF
$ hg initglobalrev 0 --i-know-what-i-am-doing
$ cd ..
Populate the database with an initial commit
$ initclient client
$ cd client
$ touch x && hg ci -qAm x
$ hg push -q ssh://user@dummy/master --to master
Test that `globalrevs` extensions is a requirement
$ cd ../master
$ grep globalrevs .hg/requires
globalrevs
$ hg log -r tip --config extensions.globalrevs=!
abort: repository requires features unknown to this Mercurial: globalrevs!
(see https://mercurial-scm.org/wiki/MissingRequirement for more information)
[255]
$ hg log -r tip
changeset: 0:dc9179e745c2
tag: tip
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: x