Proto commits in itchio/wharf

These 40 commits are when the Protocol Buffers files have changed:

Commit:7aeeeb8
Author:Amos Wenger

:arrow_up: dependencies

The documentation is generated from this commit.

Commit:459e8e3
Author:Amos Wenger

Switch to protobufs for overlay. Closes https://github.com/itchio/itch/issues/1837

Commit:5e53770
Author:Amos Wenger

make wire.ReadContext resumable, with tests when using a brotlisource

Commit:ee4ac7e
Author:Amos Wenger

Retire zipindex package

Commit:3b4e53e
Author:Amos Wenger

zipindex: change hash type to uint32, hardcoding crc32c in there

Commit:9c6beac
Author:Amos Wenger

zipindex

Commit:0c929ea
Author:Amos Wenger

Full rediff implementation and tests

Commit:4ec00b0
Author:Amos Wenger

Add zstd compression type (no compressors yet), use zstd-q9 in rediff

Commit:f86a6ac
Author:Amos Wenger

Move bsdiff into its own package, add rsync package's original license

Commit:73c4bfd
Author:Amos Wenger

Use eof field instead of re-using seek as sentinel (-1 values occur)

Commit:e611d76
Author:Amos Wenger

Tune bsdiff patch format to allow for streaming apply + lower memory usage when diffing

Commit:632431b
Author:Amos Wenger

Add bsdiff messages

Commit:b902997
Author:Amos Wenger

Better progress bar strategy for verify/healing

Commit:a34f26f
Author:Amos Wenger
Committer:Amos Wenger

Introduce dir & symlink wounds, fix validator, apply and healer

Commit:588da5b
Author:Amos Wenger

Test symlinks (not entirely), fix rename fallback (and test it)

Commit:e794728
Author:Amos Wenger

Introduce woundsprinter, change Wound format, parallel validator

Commit:f395f7f
Author:Amos Wenger

Introduce Validator, WoundsWriter

Commit:d443b63
Author:Amos Wenger

Manifest file format

Commit:ee1426d
Author:Amos Wenger

Get rid of REMOTE_DATA

Commit:6d3af5a
Author:Amos Wenger

Introduce REMOTE_DATA operation type

Commit:357ec1e
Author:Amos Wenger
Committer:Amos Wenger

Plug-in compressor/decompressor support, GZIP algo added, UNCOMPRESSED->NONE, fix empty-file bug

Commit:b0b199e
Author:Amos Wenger

Remove aaallll the ssh

Commit:28aa7e7
Author:Amos Wenger

Prefer same-file block operations, eschew OpBlock in favor of OpBlockRange, skip files untouched by upgrade (mod support)

Commit:c713fa6
Author:Amos Wenger

Add ItchioBaseUrl field in authentication request

Commit:9e71295
Author:Amos Wenger

Add wharf protocol over ssh

Commit:75c4c53
Author:Amos Wenger
Committer:Amos Wenger

By popular demand: call them 'patches', not 'recipes'.

Commit:2732e87
Author:Amos Wenger

:art: Clean up compression code

Commit:4e1a7fb
Author:Amos Wenger

:dancers:

Commit:ea08aa5
Author:Amos Wenger

:art:

Commit:3694fe1
Author:Amos Wenger

:art:

Commit:fd542e6
Author:Amos Wenger

:art:

Commit:ac67a62
Author:Amos Wenger

:art:

Commit:1abf72e
Author:Amos Wenger

:green_heart: sync tests

Commit:c70a7e3
Author:Amos Wenger

:art:

Commit:fee7e06
Author:Amos Wenger

:art:

Commit:c3321bd
Author:Amos Wenger

:art:

Commit:cd4cd69
Author:Amos Wenger

:art:

Commit:54a13b8
Author:Amos Wenger

Make rsync stricter, shuffle around parameters

Commit:4bbda1c
Author:Amos Wenger

:art: Refactor all the things

Commit:f5e8077
Author:Amos Wenger

:art: wharf.proto->wharf, start adding protobuf sources