D5559: revlog: always process opener options
Yuya Nishihara
yuya at tcha.org
Sat Jan 12 22:21:40 EST 2019
> 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.
Well, there was a trick to create a v0 repo, which dda11e799529 uses.
```
$ mkdir .hg
```
This patch looks good as itself, but we need to resurrect some trick
to create a v0 revlog.
More information about the Mercurial-devel
mailing list