summaryrefslogtreecommitdiff
path: root/repo.proto
blob: 57ba63c54a717f6e43378d3b7e28b8377d76b058 (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 "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;
}