syntax = "proto3"; package gitpb; // stores information about git repos // If the project is in golang, also gets the go language dependacies import "refs.proto"; import "godep.proto"; import "gitTags.proto"; import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp message Repo { string fullPath = 1; // the actual path to the .git directory: '/home/devel/golang.org/x/tools' repeated Ref refs = 2; google.protobuf.Timestamp lastPull = 3; // last time a git pull was done // things specific to golang projects string goPath = 4; // the logical path as used by golang: 'go.wit.com/apps/helloworld' repeated GoDep GoDeps = 6; google.protobuf.Timestamp lastGoDep = 7; // last time go.sum was processed bool goLibrary = 8; // if this is a golang library bool goPrimitive = 9; // if this is a golang primitive repeated GitTag gitTags = 10; string masterBranchName = 11; // git 'main' or 'master' branch name string develBranchName = 12; // whatever the git 'devel' branch name is string userBranchName = 13; // whatever your username branch is } message Repos { string uuid = 1; // I guess why not just have this on each file string version = 2; // maybe can be used for protobuf schema change violations repeated Repo repos = 3; }