Protocol buffer files for TiKV
make to generate go and rust code. We generate all go codes in pkg folder and rust in src folder.To avoid IDE-induced diffs, we use buf format to keep all .proto files consistently formatted.
make check): make proto-fmt-checkmake proto-fmtThe formatter is pinned and will be downloaded automatically into ./bin (gitignored) when needed. If make check fails on formatting, run make proto-fmt and then rerun make check.
The easiest way to compile the protobufs is to use docker.
./scripts/docker-build.sh # build the docker image once
./scripts/docker-run.sh make go
There are many dependencies to be installed, please refer to the relevant scripts in workflow to set them up.
If you change backup metadata wire schema in proto/brpb.proto (for backup.BackupMeta or messages reachable from it), increment BackupSchemaVersion in pkg/brpb/backup_schema_version.go.