gitpb/repo.proto

41 lines
1.9 KiB
Protocol Buffer

syntax = "proto3";
package gitpb;
// stores information about git repos
// If the project is in golang, also gets the go language dependacies
import "gitTag.proto";
import "goDep.proto";
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
// global settings for autogenpb `autogenpb:mutex`
message Repo { // `autogenpb:marshal`
string fullPath = 1; // the actual path to the .git directory: '/home/devel/golang.org/x/tools'
google.protobuf.Timestamp lastPull = 2; // last time a git pull was done
string masterBranchName = 3; // git 'main' or 'master' branch name
string develBranchName = 4; // whatever the git 'devel' branch name is
string userBranchName = 5; // whatever your username branch is
GitTags tags = 6; // known tags
string goPath = 7; // `autogenpb:unique` // the logical path as used by golang: 'go.wit.com/apps/helloworld'
bool goLibrary = 8; // is this a golang library?
bool goBinary = 9; // is this a golang binary?
bool goPrimitive = 10; // if this is a golang primitive (only has go.mod)
bool goPlugin = 11; // is this a golang plugin?
GoDeps goDeps = 12; // what is in the go.sum file
google.protobuf.Timestamp lastGoDep = 13; // last time go.sum was processed
bool dirty = 14; // if git says things have been changed
GoDeps published = 15; // the last published go.mod/go.sum
string targetVersion = 16; // useful during the package release process
bool readOnly = 17; // tracks access to 'git push'
string URL = 18; // the URL. amazingly I didn't add this earlier. duh.
bool goProtobuf = 19; // autogen go files from .proto
}
message Repos { // `autogenpb:marshal`
string uuid = 1; // `autogenpb:uuid:8daaeba1-fb1f-4762-ae6e-95a55d352673`
string version = 2; // maybe can be used for protobuf schema change violations
repeated Repo repos = 3;
}