42 lines
1.7 KiB
Protocol Buffer
42 lines
1.7 KiB
Protocol Buffer
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<string, string> core = 1; // map[origin] = "https:/git.wit.org/gui/gadgets"
|
|
map<string, GitRemote> remotes = 2; // map[origin] = "https:/git.wit.org/gui/gadgets"
|
|
map<string, GitBranch> branches = 3; // map[guimaster] = origin guimaster
|
|
map<string, string> submodules = 4;
|
|
map<string, string> hashes = 5;
|
|
map<string, string> 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;
|
|
}
|