typing: simplify archive.gz writing and drop a few pytype suppressions
I was waiting until 3.8 to use `Literal` to fix this, but there's also the ":"
and "|" characters that are passed along here, meant only for the non-gz archive
types. But manipulating what the local caller passes is silly- we know we're
writing, so just open it for writing. As an added bonus, PyCharm stops flagging
the call too (since it doesn't know about pytype suppression comments).
#require rust
$ cat >> $HGRCPATH << EOF
> [format]
> use-dirstate-v2=1
> [storage]
> dirstate-v2.slow-path=allow
> EOF
$ hg init t
$ cd t
$ for i in 1 2 3 4 5 6 7 8 9 10; do touch foobar$i; done
$ hg add .
adding foobar1
adding foobar10
adding foobar2
adding foobar3
adding foobar4
adding foobar5
adding foobar6
adding foobar7
adding foobar8
adding foobar9
$ hg commit -m "1"
Check that there's no space leak on debugrebuilddirstate
$ f --size .hg/dirstate*
.hg/dirstate: size=133
.hg/dirstate.88698448: size=511
$ hg debugrebuilddirstate
$ f --size .hg/dirstate*
.hg/dirstate: size=133
.hg/dirstate.6b8ab34b: size=511
$ hg debugrebuilddirstate
$ f --size .hg/dirstate*
.hg/dirstate: size=133
.hg/dirstate.b875dfc5: size=511