// Copyright 2025 WIT.COM Inc Licensed GPL 3.0 syntax = "proto3"; package gitpb; import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp message GitRef { enum RefType { UNKNOWN = 0; LOCAL = 1; REMOTE = 2; TAG = 3; } string name = 1; // string remote = 2; // blank unless REMOTE RefType type = 3; // is set by git as the master branch string subject = 4; // git tag subject } message Stat { string patchId = 1; // `autogenpb:unique` `autogenpb:sort` string hash = 2; // `autogenpb:unique` `autogenpb:sort` google.protobuf.Timestamp ctime = 3; // `autogenpb:unique` `autogenpb:sort` string name = 4; // string remote = 5; // blank unless REMOTE string subject = 6; // git tag subject repeated GitRef refs = 7; // } // normally stored as .git/*.pb cache files message Stats { // `autogenpb:marshal` `autogenpb:gui` `autogenpb:http` string uuid = 1; // `autogenpb:uuid:ba236558-f8a1-4c47-a14a-8856a24d3f72` string version = 2; // `autogenpb:version:v0.0.3` repeated Stat stats = 3; string filename = 4; // `autogenpb:save` -- this enables autogenerated pb.Load() and pb.Save() string head = 5; // the current origin hash google.protobuf.Timestamp mtime = 6; // mtime for .git/ string name = 7; // the current origin hash }