syntax = "proto3"; package gitpb; import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp message GitRemote { // `autogenpb:nomutex` string url = 1; string fetch = 2; } message GitBranch { // `autogenpb:nomutex` string remote = 1; // the name of the remote repo string merge = 2; // the merge path from the config file string name = 3; // the branch name from the config file } // readGitConfig reads and parses the .git/config file message GitConfig { // `autogenpb:nomutex` map core = 1; // map[origin] = "https:/git.wit.org/gui/gadgets" map remotes = 2; // map[origin] = "https:/git.wit.org/gui/gadgets" map branches = 3; // map[guimaster] = origin guimaster map submodules = 4; map hashes = 5; map versions = 6; repeated GitBranch local = 7; // move this this and away from the map<> variables } message GitTag { // `autogenpb:nomutex` string refname = 1; // `autogenpb:unique` `autogenpb:sort` // tag name. treated as unique google.protobuf.Timestamp creatordate = 2; // git creatordate google.protobuf.Timestamp authordate = 3; // git author date string hash = 4; // `autogenpb:unique` // git hash string subject = 5; // git tag subject } message GitTags { // `autogenpb:marshal` `autogenpb:nomutex` string uuid = 1; // `autogenpb:uuid:ffdff813-0316-4372-9e82-4c1c7d202526` string version = 2; // `autogenpb:version:v0.0.47` repeated GitTag gitTags = 3; }