summaryrefslogtreecommitdiff
path: root/gitTag.proto
blob: dbc28defc5df6f4fb8df63ba80fbeb6ef45e79c0 (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
37
38
39
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;
	string merge            = 2;
}

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

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