summaryrefslogtreecommitdiff
path: root/structs.go
blob: 72f7fa6024e5ef3275928bd9e39b7446533e5079 (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package repostatus

import (
	"go.wit.com/gui"
	"go.wit.com/lib/gadgets"
	"go.wit.com/lib/protobuf/gitpb"
)

type RepoStatus struct {
	ready   bool
	changed bool // keeps track of changes that might have happened
	changes string
	// tags    map[string]string
	InitOk bool // it takes a second or so to init these

	pb *gitpb.Repo // the protobuf

	// used to temporarily tell the automation tools to
	// try to ignore this repo's changes and state
	// specifically when doing formal releases, sometimes
	// some repos are in flux and can't be changed. This
	// means attempt to overlook that situation.
	Whitelist bool

	window *gadgets.BasicWindow // the main window for this repo
	Tags   *GitTagBox           // a box of all the git tags

	dirtyLabel *gadgets.OneLiner
	dirtyList  string // the output from git status --porcelain
	readOnly   *gadgets.OneLiner
	gitState   *gadgets.OneLiner

	primitive *gadgets.OneLiner // aka: doesn't have a go.sum file
	private   *gadgets.OneLiner // it's not possible to publish this to pkg.go.dev
	protobuf  *gadgets.OneLiner // is this repo a protobuf repo?

	path      *gadgets.OneLiner
	goSrcPath *gadgets.OneLiner
	goPath    *gadgets.OneLiner
	realPath  *gadgets.OneLiner
	isGoLang  *gadgets.OneLiner

	currentBranch  *gadgets.OneLiner
	currentVersion *gadgets.OneLiner

	mainWorkingName    *gadgets.OneLiner      // the actual name of the primary branch
	develWorkingName   *gadgets.OneLiner      // the actual name of the devel branch
	userWorkingName    *gadgets.OneLiner      // the actual name of the user branch
	develMergeB        *gui.Node              // button to merge from user to devel
	mainMergeB         *gui.Node              // button to merge from devel to master
	releaseVersion     *gui.Node              // the release version
	minor              *gadgets.BasicCombobox // the '3' in version v3.1.4
	major              *gadgets.BasicCombobox // the '1' in version v3.1.4
	revision           *gadgets.BasicCombobox // the '4' in version v3.1.4
	lasttag            *gadgets.OneLiner      // the last tag version
	mainBranchVersion  *gadgets.OneLiner      // the primary branch version
	develBranchVersion *gadgets.OneLiner      // the devel branch version
	userBranchVersion  *gadgets.OneLiner      // the user branch version

	versionMessage       *gadgets.BasicEntry
	versionCmds          [][]string
	versionCmdOutput     *gadgets.OneLiner
	targetReleaseVersion *gadgets.OneLiner

	newversion *gui.Node

	gitBranchesGroup *gui.Node
	gitStatusGroup   *gui.Node
	gitCommandsGroup *gui.Node

	showBranchesButton  *gui.Node
	checkBranchesButton *gui.Node

	speed       *gadgets.OneLiner
	speedActual *gadgets.OneLiner

	// gitConfig *GitConfig
	// goConfig  GoConfig

	switchBranchB *gui.Node
	targetBranch  *gui.Node
}