hgweb: cast bytearray to bytes
PEP-3333 seems to indicate that bytes is the only allowed type that can
be used to express the output of a WSGI application. And some WSGI
environments seem to enforce this (mod_wsgi does).
This commit universally casts bytearray instances to bytes to appease
the WSGI specification.
I found this because wireprotov2 is emitting bytearray instances. I'd
like to keep things that way because the way it builds a data
structure, bytearray is more efficient. I'd rather keep the low-level
code efficient (and using bytearray) and cast at the edges than impose
a performance penalty on code that may run outside WSGI contexts.
$ cat >> $HGRCPATH << EOF
> [extensions]
> fastannotate=
> EOF
$ hg init repo
$ cd repo
changes to whitespaces
$ cat >> a << EOF
> 1
>
>
> 2
> EOF
$ hg commit -qAm '1'
$ cat > a << EOF
> 1
>
> 2
>
>
> 3
> EOF
$ hg commit -m 2
$ hg fastannotate -wB a
0: 1
0:
1: 2
0:
1:
1: 3