Mercurial > hg
annotate tests/notcapable @ 41200:cecf3f8bccd3
revlog: always process opener options
I'm not sure when ``opener.options`` would ever be explicitly
set to None. It is definitely not possible to construct a repo
this way because ``localrepo.resolvestorevfsoptions()`` always
returns a dict and ``localrepo.makelocalrepository()`` always
sets ``opener.options`` to this value.
Because we always execute this code now, if options are empty
we defaulted to creating version 0 revlogs. So we had to change
the code slightly to fall back to the default revlog version
and flags.
As astute reader will note that it is not possible to create
version 0 revlogs now. However, I don't think it was possible
before, as this required ``opener.options`` being unset, which
I don't think was possible. I suspect this means our test
coverage for version 0 revlog repositories is possibly
non-existent! Since I don't see a config option to disable
revlog v1, I'm not even sure if we had a way to create new
repos with version 0 revlogs! Who knows.
Differential Revision: https://phab.mercurial-scm.org/D5559
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 09 Jan 2019 19:06:15 -0800 |
parents | 28a4fb793ba1 |
children | 15fd3069caa6 |
rev | line source |
---|---|
14011
b69471bdb678
tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
1 # Disable the $CAP wire protocol capability. |
b69471bdb678
tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
2 |
b69471bdb678
tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
3 if test -z "$CAP" |
b69471bdb678
tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
4 then |
b69471bdb678
tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
5 echo "CAP environment variable not set." |
b69471bdb678
tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
6 fi |
b69471bdb678
tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
7 |
b69471bdb678
tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
8 cat > notcapable-$CAP.py << EOF |
33806
dedab036215d
wireproto: use new peer interface
Gregory Szorc <gregory.szorc@gmail.com>
parents:
17192
diff
changeset
|
9 from mercurial import extensions, localrepo, repository |
41068
28a4fb793ba1
extensions: deprecate extsetup without a `ui` argument (API)
Matt Harbison <matt_harbison@yahoo.com>
parents:
33806
diff
changeset
|
10 def extsetup(ui): |
33806
dedab036215d
wireproto: use new peer interface
Gregory Szorc <gregory.szorc@gmail.com>
parents:
17192
diff
changeset
|
11 extensions.wrapfunction(repository.peer, 'capable', wrapcapable) |
17192
1ac628cd7113
peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14409
diff
changeset
|
12 extensions.wrapfunction(localrepo.localrepository, 'peer', wrappeer) |
1ac628cd7113
peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14409
diff
changeset
|
13 def wrapcapable(orig, self, name, *args, **kwargs): |
14409
9ff996ba00b4
tests: support multiple caps in notcapable
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14011
diff
changeset
|
14 if name in '$CAP'.split(' '): |
14011
b69471bdb678
tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
15 return False |
b69471bdb678
tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
16 return orig(self, name, *args, **kwargs) |
17192
1ac628cd7113
peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14409
diff
changeset
|
17 def wrappeer(orig, self): |
1ac628cd7113
peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14409
diff
changeset
|
18 # Since we're disabling some newer features, we need to make sure local |
1ac628cd7113
peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14409
diff
changeset
|
19 # repos add in the legacy features again. |
1ac628cd7113
peer: introduce real peer classes
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
14409
diff
changeset
|
20 return localrepo.locallegacypeer(self) |
14011
b69471bdb678
tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
21 EOF |
b69471bdb678
tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
22 |
b69471bdb678
tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
23 echo '[extensions]' >> $HGRCPATH |
b69471bdb678
tests: add script to disable a selected wire protocol capability
Steven Brown <StevenGBrown@gmail.com>
parents:
diff
changeset
|
24 echo "notcapable-$CAP = `pwd`/notcapable-$CAP.py" >> $HGRCPATH |