summaryrefslogtreecommitdiff
path: root/repo.proto
blob: c966ab9a0d34e9681ad6a0eb76faf30cb338980e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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
}

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;
}