forgepb/repo.proto

31 lines
1.3 KiB
Protocol Buffer

syntax = "proto3";
package forgepb;
import "google/protobuf/timestamp.proto"; // Import the well-known type for Timestamp
// define 3 branches. that is all that is supported
// the term 'master' is used in the code because 'main' is a reserved word in golang already
// allow 'read only' and 'private' flags
// package names sometimes must be different than the binary name
// for example 'zookeeper' is packaged as 'zookeeper-go'
// due to the prior apache foundation project. This happens and is ok!
message Repo {
string name = 1;
string version = 2;
string masterBranch = 3; // git 'main' or 'master' branch name
string develBranch = 4; // whatever the git 'devel' branch name is
string userBranch = 5; // whatever your username branch is
bool readonly = 6; // if you have write access to the repo
bool private = 7; // if the repo can be published
string debname = 8; // this is the actual .deb name of the package
google.protobuf.Timestamp verstamp = 9; // the git commit timestamp of the version
}
// TODO: autogen 'Repos'
message Repos {
string uuid = 1; // could be useful for /usr/share/file/magic someday?
string version = 2; // could be used for protobuf schema change violations?
repeated Repo repos = 3;
}