gitpb

package module
v0.0.184 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 6, 2025 License: GPL-3.0 Imports: 44 Imported by: 21

README

protobuf definition files for git repositories

This is used by forge to optimize access to .git/ repos

TODO

  • publish this code better

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	GitRef_RefType_name = map[int32]string{
		0: "UNKNOWN",
		1: "LOCAL",
		2: "REMOTE",
		3: "TAG",
	}
	GitRef_RefType_value = map[string]int32{
		"UNKNOWN": 0,
		"LOCAL":   1,
		"REMOTE":  2,
		"TAG":     3,
	}
)

Enum value maps for GitRef_RefType.

View Source
var ErrorGitPullOnDirty error = errors.New("cannot git pull on dirty repo")
View Source
var ErrorGitPullOnLocal error = errors.New("git pull on local only branch")
View Source
var ErrorMissingGitConfig error = errors.New("missing .git/config")
View Source
var File_gitConfig_proto protoreflect.FileDescriptor
View Source
var File_goDep_proto protoreflect.FileDescriptor
View Source
var INFO *log.LogFlag
View Source
var WARN *log.LogFlag

Functions

func CompareVers added in v0.0.180

func CompareVers(atok *Vers, btok *Vers) int

func FindPatchIdFromGitAm added in v0.0.152

func FindPatchIdFromGitAm(gitam []byte) (string, string, error)

func FindPatchIdFromGitAmBroken added in v0.0.152

func FindPatchIdFromGitAmBroken(gitAmData []byte) string

computes the stable git patch-id from the output of git-am doesn't work. it needs to add the SHA-1 parts together cat WTF.2.diff | git patch-id --stable go.wit.com/apps/utils/forged git show 5b277e7686974d2195586d5f5b82838ee9ddb036 |git patch-id --stable bf86be06af03b1a89ee155b214358362ec76f7b6 5b277e7686974d2195586d5f5b82838ee9ddb036 73d73e12dcd727721253140ea68441dd0b824f8c 0000000000000000000000000000000000000000 515792a0c4965b69f6b9e7f89e2f896148b03c97 0000000000000000000000000000000000000000 1dd8b4a7d7d42a78fd1ff84dcc2ac87bc7318ee6 0000000000000000000000000000000000000000 8478bad3e1f97818a68a014a8f30f1b2951b026b 0000000000000000000000000000000000000000

func IsGoTagPublished added in v0.0.66

func IsGoTagPublished(oldtag string, newtag string) bool

returns true for "v0.2.4" and false for "v0.2.43-asdfj" actually returns false for anything not perfectly versioned

func IsGoTagVersionGreater added in v0.0.66

func IsGoTagVersionGreater(oldtag string, newtag string) bool

returns true if old="v0.2.4" and new="v0.3.3" returns true if equal todo: make all of this smarter someday

func ListFiles added in v0.0.45

func ListFiles(directory string) []string

goes in one directory so it gets remote branch names old code. todo: modernize it

func NewerVersion added in v0.0.180

func NewerVersion(newver string, curver string) (bool, error)

compares newver(0.25.101-1+b10) curver(0.25.101-5+b1) returns true only if it's newer. returns false if equal used for .deb mirrors

func ParseGitURL added in v0.0.141

func ParseGitURL(rawURL string) (*url.URL, error)

ParseGitURL parses a Git URL, handling both standard schemes (http, https, ssh) and the scp-like syntax (e.g., git@github.com:user/repo.git).

Types

type GitBranch added in v0.0.57

type GitBranch struct {
	Name   string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`     // the branch name from the config file
	Remote string `protobuf:"bytes,2,opt,name=remote,proto3" json:"remote,omitempty"` // the name of the remote repo
	Merge  string `protobuf:"bytes,3,opt,name=merge,proto3" json:"merge,omitempty"`   // the merge path from the config file
	Stat   *Stat  `protobuf:"bytes,4,opt,name=stat,proto3" json:"stat,omitempty"`     // a git stat proto msg
	// contains filtered or unexported fields
}

func (*GitBranch) Descriptor deprecated added in v0.0.57

func (*GitBranch) Descriptor() ([]byte, []int)

Deprecated: Use GitBranch.ProtoReflect.Descriptor instead.

func (*GitBranch) GetMerge added in v0.0.57

func (x *GitBranch) GetMerge() string

func (*GitBranch) GetName added in v0.0.59

func (x *GitBranch) GetName() string

func (*GitBranch) GetRemote added in v0.0.57

func (x *GitBranch) GetRemote() string

func (*GitBranch) GetStat added in v0.0.180

func (x *GitBranch) GetStat() *Stat

func (*GitBranch) ProtoMessage added in v0.0.57

func (*GitBranch) ProtoMessage()

func (*GitBranch) ProtoReflect added in v0.0.57

func (x *GitBranch) ProtoReflect() protoreflect.Message

func (*GitBranch) Reset added in v0.0.57

func (x *GitBranch) Reset()

func (*GitBranch) String added in v0.0.57

func (x *GitBranch) String() string

type GitBranchScanner added in v0.0.98

type GitBranchScanner struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*GitBranchScanner) Next added in v0.0.98

func (it *GitBranchScanner) Next() *GitBranch

Next() returns the next thing in the array

func (*GitBranchScanner) Scan added in v0.0.98

func (it *GitBranchScanner) Scan() bool

type GitConfig added in v0.0.57

type GitConfig struct {
	Core map[string]string `` // map[origin] = "https:/git.wit.org/gui/gadgets"
	/* 149-byte string literal not displayed */
	Submodules map[string]string ``                                                                      /* 161-byte string literal not displayed */
	Branches   []*GitBranch      `protobuf:"bytes,3,rep,name=branches,proto3" json:"branches,omitempty"` // move this away from the map<> variables
	Remotes    []*GitRemote      `protobuf:"bytes,4,rep,name=remotes,proto3" json:"remotes,omitempty"`   // move this away from the map<> variables
	// contains filtered or unexported fields
}

func (*GitConfig) Descriptor deprecated added in v0.0.57

func (*GitConfig) Descriptor() ([]byte, []int)

Deprecated: Use GitConfig.ProtoReflect.Descriptor instead.

func (*GitConfig) GetBranches added in v0.0.57

func (x *GitConfig) GetBranches() []*GitBranch

func (*GitConfig) GetCore added in v0.0.57

func (x *GitConfig) GetCore() map[string]string

func (*GitConfig) GetRemotes added in v0.0.57

func (x *GitConfig) GetRemotes() []*GitRemote

func (*GitConfig) GetSubmodules added in v0.0.57

func (x *GitConfig) GetSubmodules() map[string]string

func (*GitConfig) ProtoMessage added in v0.0.57

func (*GitConfig) ProtoMessage()

func (*GitConfig) ProtoReflect added in v0.0.57

func (x *GitConfig) ProtoReflect() protoreflect.Message

func (*GitConfig) Reset added in v0.0.57

func (x *GitConfig) Reset()

func (*GitConfig) String added in v0.0.57

func (x *GitConfig) String() string

type GitConfigScanner added in v0.0.98

type GitConfigScanner struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*GitConfigScanner) Next added in v0.0.98

func (it *GitConfigScanner) Next() *GitConfig

Next() returns the next thing in the array

func (*GitConfigScanner) Scan added in v0.0.98

func (it *GitConfigScanner) Scan() bool

type GitConfigs added in v0.0.179

type GitConfigs struct {
	sync.RWMutex // auto-added by go.wit.com/apps/autogenpb

	Uuid       string       `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`             // `autogenpb:uuid:e70b71ec-0326-4485-8460-4a3c4d7b6919`
	Version    string       `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`       // `autogenpb:version:v0.0.1`
	GitConfigs []*GitConfig `protobuf:"bytes,3,rep,name=GitConfigs,proto3" json:"GitConfigs,omitempty"` // THIS MUST BE  GitConfig  and then  GitConfigs
	// contains filtered or unexported fields
}

func NewGitConfigs added in v0.0.179

func NewGitConfigs() *GitConfigs

func (*GitConfigs) All added in v0.0.179

func (x *GitConfigs) All() *GitConfigScanner

func (*GitConfigs) Append added in v0.0.179

func (x *GitConfigs) Append(y *GitConfig)

a Append() shortcut (that does Clone() with a mutex) notsure if it really works doesn't allow nil

func (*GitConfigs) Clone added in v0.0.179

func (x *GitConfigs) Clone(y *GitConfig) *GitConfig

a Clone() shortcut (with a mutex). notsure if it really works

func (*GitConfigs) Delete added in v0.0.179

func (x *GitConfigs) Delete(y *GitConfig) bool

func (*GitConfigs) Descriptor deprecated added in v0.0.179

func (*GitConfigs) Descriptor() ([]byte, []int)

Deprecated: Use GitConfigs.ProtoReflect.Descriptor instead.

func (*GitConfigs) FormatJSON added in v0.0.179

func (v *GitConfigs) FormatJSON() string

human readable JSON

func (*GitConfigs) FormatTEXT added in v0.0.179

func (v *GitConfigs) FormatTEXT() string

apparently this isn't stable, but it's awesomely better https://protobuf.dev/reference/go/faq/#unstable-text it's brilliant for config files!

func (*GitConfigs) GetGitConfigs added in v0.0.179

func (x *GitConfigs) GetGitConfigs() []*GitConfig

func (*GitConfigs) GetUuid added in v0.0.179

func (x *GitConfigs) GetUuid() string

func (*GitConfigs) GetVersion added in v0.0.179

func (x *GitConfigs) GetVersion() string

func (*GitConfigs) IterAll added in v0.0.179

func (x *GitConfigs) IterAll() iter.Seq[*GitConfig]

Iterate 'for x := range' syntax using the awesome golang 1.24 'iter'

func (*GitConfigs) Len added in v0.0.179

func (x *GitConfigs) Len() int

func (*GitConfigs) Marshal added in v0.0.179

func (v *GitConfigs) Marshal() ([]byte, error)

marshal to wire. This is called winning.

func (*GitConfigs) MarshalJSON added in v0.0.179

func (v *GitConfigs) MarshalJSON() ([]byte, error)

marshal json

func (*GitConfigs) ProtoMessage added in v0.0.179

func (*GitConfigs) ProtoMessage()

func (*GitConfigs) ProtoReflect added in v0.0.179

func (x *GitConfigs) ProtoReflect() protoreflect.Message

func (*GitConfigs) Reset added in v0.0.179

func (x *GitConfigs) Reset()

func (*GitConfigs) String added in v0.0.179

func (x *GitConfigs) String() string

func (*GitConfigs) Unmarshal added in v0.0.179

func (v *GitConfigs) Unmarshal(data []byte) error

unmarshal from wire. You have won.

func (*GitConfigs) UnmarshalJSON added in v0.0.179

func (v *GitConfigs) UnmarshalJSON(data []byte) error

unmarshal json

func (*GitConfigs) UnmarshalTEXT added in v0.0.179

func (v *GitConfigs) UnmarshalTEXT(data []byte) error

unmarshalTEXT. This reads the .text config file back in after the user edits it

type GitConfigsScanner added in v0.0.179

type GitConfigsScanner struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*GitConfigsScanner) Next added in v0.0.179

func (it *GitConfigsScanner) Next() *GitConfigs

Next() returns the next thing in the array

func (*GitConfigsScanner) Scan added in v0.0.179

func (it *GitConfigsScanner) Scan() bool

type GitRef added in v0.0.180

type GitRef struct {
	Name    string         `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`                            //
	Remote  string         `protobuf:"bytes,2,opt,name=remote,proto3" json:"remote,omitempty"`                        // blank unless REMOTE
	Type    GitRef_RefType `protobuf:"varint,3,opt,name=type,proto3,enum=gitpb.GitRef_RefType" json:"type,omitempty"` // is set by git as the master branch
	Subject string         `protobuf:"bytes,4,opt,name=subject,proto3" json:"subject,omitempty"`                      // git tag subject
	// contains filtered or unexported fields
}

func (*GitRef) Descriptor deprecated added in v0.0.180

func (*GitRef) Descriptor() ([]byte, []int)

Deprecated: Use GitRef.ProtoReflect.Descriptor instead.

func (*GitRef) GetName added in v0.0.180

func (x *GitRef) GetName() string

func (*GitRef) GetRemote added in v0.0.180

func (x *GitRef) GetRemote() string

func (*GitRef) GetSubject added in v0.0.180

func (x *GitRef) GetSubject() string

func (*GitRef) GetType added in v0.0.180

func (x *GitRef) GetType() GitRef_RefType

func (*GitRef) ProtoMessage added in v0.0.180

func (*GitRef) ProtoMessage()

func (*GitRef) ProtoReflect added in v0.0.180

func (x *GitRef) ProtoReflect() protoreflect.Message

func (*GitRef) Reset added in v0.0.180

func (x *GitRef) Reset()

func (*GitRef) String added in v0.0.180

func (x *GitRef) String() string

type GitRefScanner added in v0.0.180

type GitRefScanner struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*GitRefScanner) Next added in v0.0.180

func (it *GitRefScanner) Next() *GitRef

Next() returns the next thing in the array

func (*GitRefScanner) Scan added in v0.0.180

func (it *GitRefScanner) Scan() bool

type GitRef_RefType added in v0.0.180

type GitRef_RefType int32
const (
	GitRef_UNKNOWN GitRef_RefType = 0
	GitRef_LOCAL   GitRef_RefType = 1
	GitRef_REMOTE  GitRef_RefType = 2
	GitRef_TAG     GitRef_RefType = 3
)

func (GitRef_RefType) Descriptor added in v0.0.180

func (GitRef_RefType) Enum added in v0.0.180

func (x GitRef_RefType) Enum() *GitRef_RefType

func (GitRef_RefType) EnumDescriptor deprecated added in v0.0.180

func (GitRef_RefType) EnumDescriptor() ([]byte, []int)

Deprecated: Use GitRef_RefType.Descriptor instead.

func (GitRef_RefType) Number added in v0.0.180

func (GitRef_RefType) String added in v0.0.180

func (x GitRef_RefType) String() string

func (GitRef_RefType) Type added in v0.0.180

type GitRemote added in v0.0.57

type GitRemote struct {
	Name  string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // the branch name from the config file
	Url   string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	Fetch string `protobuf:"bytes,3,opt,name=fetch,proto3" json:"fetch,omitempty"`
	// contains filtered or unexported fields
}

func (*GitRemote) Descriptor deprecated added in v0.0.57

func (*GitRemote) Descriptor() ([]byte, []int)

Deprecated: Use GitRemote.ProtoReflect.Descriptor instead.

func (*GitRemote) GetFetch added in v0.0.57

func (x *GitRemote) GetFetch() string

func (*GitRemote) GetName added in v0.0.180

func (x *GitRemote) GetName() string

func (*GitRemote) GetUrl added in v0.0.57

func (x *GitRemote) GetUrl() string

func (*GitRemote) ProtoMessage added in v0.0.57

func (*GitRemote) ProtoMessage()

func (*GitRemote) ProtoReflect added in v0.0.57

func (x *GitRemote) ProtoReflect() protoreflect.Message

func (*GitRemote) Reset added in v0.0.57

func (x *GitRemote) Reset()

func (*GitRemote) String added in v0.0.57

func (x *GitRemote) String() string

type GitRemoteScanner added in v0.0.98

type GitRemoteScanner struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*GitRemoteScanner) Next added in v0.0.98

func (it *GitRemoteScanner) Next() *GitRemote

Next() returns the next thing in the array

func (*GitRemoteScanner) Scan added in v0.0.98

func (it *GitRemoteScanner) Scan() bool

type GitTimes added in v0.0.34

type GitTimes struct {
	LastPull     *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=lastPull,proto3" json:"lastPull,omitempty"`         // last time a git pull was done
	LastUpdate   *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=lastUpdate,proto3" json:"lastUpdate,omitempty"`     // when was ReloadGit() last done
	LastDirty    *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=lastDirty,proto3" json:"lastDirty,omitempty"`       // last time CheckDirty() was run
	MtimeDir     *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=mtimeDir,proto3" json:"mtimeDir,omitempty"`         // mtime for ./git // maybe useful to track
	MtimeHead    *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=mtimeHead,proto3" json:"mtimeHead,omitempty"`       // mtime for ./git/HEAD // these two mtimes allow really fast checks to see if git has changed
	MtimeIndex   *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=mtimeIndex,proto3" json:"mtimeIndex,omitempty"`     // mtime for ./git/HEAD // probably always in sync with HEAD
	MtimeFetch   *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=mtimeFetch,proto3" json:"mtimeFetch,omitempty"`     // mtime for ./git/FETCH_HEAD // last time 'git fetch' or 'git pull' was run on current branch?
	LastGoDep    *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=lastGoDep,proto3" json:"lastGoDep,omitempty"`       // mtime for last go.sum scan
	NewestCommit *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=newestCommit,proto3" json:"newestCommit,omitempty"` // when the newest commit was
	MtimeConfig  *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=mtimeConfig,proto3" json:"mtimeConfig,omitempty"`  // mtime for the .git/config file
	// contains filtered or unexported fields
}

func (*GitTimes) Descriptor deprecated added in v0.0.34

func (*GitTimes) Descriptor() ([]byte, []int)

Deprecated: Use GitTimes.ProtoReflect.Descriptor instead.

func (*GitTimes) GetLastDirty added in v0.0.34

func (x *GitTimes) GetLastDirty() *timestamppb.Timestamp

func (*GitTimes) GetLastGoDep added in v0.0.34

func (x *GitTimes) GetLastGoDep() *timestamppb.Timestamp

func (*GitTimes) GetLastPull added in v0.0.34

func (x *GitTimes) GetLastPull() *timestamppb.Timestamp

func (*GitTimes) GetLastUpdate added in v0.0.34

func (x *GitTimes) GetLastUpdate() *timestamppb.Timestamp

func (*GitTimes) GetMtimeConfig added in v0.0.57

func (x *GitTimes) GetMtimeConfig() *timestamppb.Timestamp

func (*GitTimes) GetMtimeDir added in v0.0.34

func (x *GitTimes) GetMtimeDir() *timestamppb.Timestamp

func (*GitTimes) GetMtimeFetch added in v0.0.34

func (x *GitTimes) GetMtimeFetch() *timestamppb.Timestamp

func (*GitTimes) GetMtimeHead added in v0.0.34

func (x *GitTimes) GetMtimeHead() *timestamppb.Timestamp

func (*GitTimes) GetMtimeIndex added in v0.0.34

func (x *GitTimes) GetMtimeIndex() *timestamppb.Timestamp

func (*GitTimes) GetNewestCommit added in v0.0.41

func (x *GitTimes) GetNewestCommit() *timestamppb.Timestamp

func (*GitTimes) ProtoMessage added in v0.0.34

func (*GitTimes) ProtoMessage()

func (*GitTimes) ProtoReflect added in v0.0.34

func (x *GitTimes) ProtoReflect() protoreflect.Message

func (*GitTimes) Reset added in v0.0.34

func (x *GitTimes) Reset()

func (*GitTimes) String added in v0.0.34

func (x *GitTimes) String() string

type GitTimesScanner added in v0.0.98

type GitTimesScanner struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*GitTimesScanner) Next added in v0.0.98

func (it *GitTimesScanner) Next() *GitTimes

Next() returns the next thing in the array

func (*GitTimesScanner) Scan added in v0.0.98

func (it *GitTimesScanner) Scan() bool

type GoDep added in v0.0.10

type GoDep struct {
	Hash      string                 `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"`           // `autogenpb:unique` `autogenpb:sort`	// md5sum/hash value from the go.sum file
	Ctime     *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=ctime,proto3" json:"ctime,omitempty"`         // get the go date from 'go list' ?
	Version   string                 `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`     // v1.2.2
	GoPath    string                 `protobuf:"bytes,4,opt,name=goPath,proto3" json:"goPath,omitempty"`       // `autogenpb:unique`  `autogenpb:sort` // "go.wit.com/lib/foo"
	GoVersion string                 `protobuf:"bytes,5,opt,name=goVersion,proto3" json:"goVersion,omitempty"` // version of golang the developer used to make this package version
	// contains filtered or unexported fields
}

func (*GoDep) Descriptor deprecated added in v0.0.10

func (*GoDep) Descriptor() ([]byte, []int)

Deprecated: Use GoDep.ProtoReflect.Descriptor instead.

func (*GoDep) GetCtime added in v0.0.10

func (x *GoDep) GetCtime() *timestamppb.Timestamp

func (*GoDep) GetGoPath added in v0.0.10

func (x *GoDep) GetGoPath() string

func (*GoDep) GetGoVersion added in v0.0.10

func (x *GoDep) GetGoVersion() string

func (*GoDep) GetHash added in v0.0.10

func (x *GoDep) GetHash() string

func (*GoDep) GetVersion added in v0.0.10

func (x *GoDep) GetVersion() string

func (*GoDep) ProtoMessage added in v0.0.10

func (*GoDep) ProtoMessage()

func (*GoDep) ProtoReflect added in v0.0.10

func (x *GoDep) ProtoReflect() protoreflect.Message

func (*GoDep) Reset added in v0.0.10

func (x *GoDep) Reset()

func (*GoDep) String added in v0.0.10

func (x *GoDep) String() string

type GoDepScanner added in v0.0.98

type GoDepScanner struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*GoDepScanner) Next added in v0.0.98

func (it *GoDepScanner) Next() *GoDep

Next() returns the next thing in the array

func (*GoDepScanner) Scan added in v0.0.98

func (it *GoDepScanner) Scan() bool

type GoDeps added in v0.0.10

type GoDeps struct {
	Uuid    string   `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`       // `autogenpb:uuid:7de62c09-b335-4d80-902d-08552c501b7c`
	Version string   `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // `autogenpb:version:v0.0.51`
	GoDeps  []*GoDep `protobuf:"bytes,3,rep,name=goDeps,proto3" json:"goDeps,omitempty"`   // `autogenpb:unique`  `autogenpb:sort`
	// contains filtered or unexported fields
}

func GoSumParseDir added in v0.0.72

func GoSumParseDir(moddir string) (*GoDeps, error)

attempt to parse go.* files in a directory

func NewGoDeps added in v0.0.54

func NewGoDeps() *GoDeps

func (*GoDeps) All added in v0.0.10

func (x *GoDeps) All() *GoDepScanner

func (*GoDeps) Append added in v0.0.10

func (x *GoDeps) Append(y *GoDep)

a Append() shortcut (that does Clone() with a mutex) notsure if it really works doesn't allow nil

func (*GoDeps) AppendByGoPath added in v0.0.50

func (x *GoDeps) AppendByGoPath(y *GoDep) bool

func (*GoDeps) AppendByHash added in v0.0.50

func (x *GoDeps) AppendByHash(y *GoDep) bool

func (*GoDeps) Clone added in v0.0.159

func (x *GoDeps) Clone(y *GoDep) *GoDep

a Clone() shortcut (with a mutex). notsure if it really works

func (*GoDeps) CloneByGoPath added in v0.0.159

func (x *GoDeps) CloneByGoPath(y *GoDep) bool

func (*GoDeps) CloneByHash added in v0.0.159

func (x *GoDeps) CloneByHash(y *GoDep) bool

func (*GoDeps) Delete added in v0.0.59

func (x *GoDeps) Delete(y *GoDep) bool

func (*GoDeps) DeleteByGoPath added in v0.0.10

func (x *GoDeps) DeleteByGoPath(s string) bool

func (*GoDeps) DeleteByHash added in v0.0.10

func (x *GoDeps) DeleteByHash(s string) bool

func (*GoDeps) Descriptor deprecated added in v0.0.10

func (*GoDeps) Descriptor() ([]byte, []int)

Deprecated: Use GoDeps.ProtoReflect.Descriptor instead.

func (*GoDeps) FindByGoPath added in v0.0.10

func (x *GoDeps) FindByGoPath(s string) *GoDep

lookup a GoDeps by the GoPath

func (*GoDeps) FindByHash added in v0.0.10

func (x *GoDeps) FindByHash(s string) *GoDep

lookup a GoDeps by the Hash

func (*GoDeps) GetGoDeps added in v0.0.10

func (x *GoDeps) GetGoDeps() []*GoDep

func (*GoDeps) GetUuid added in v0.0.10

func (x *GoDeps) GetUuid() string

func (*GoDeps) GetVersion added in v0.0.10

func (x *GoDeps) GetVersion() string

func (*GoDeps) InsertByGoPath added in v0.0.96

func (x *GoDeps) InsertByGoPath(y string) *GoDep

returns a GoDep if GoPath matches, otherwise create

func (*GoDeps) InsertByHash added in v0.0.96

func (x *GoDeps) InsertByHash(y string) *GoDep

returns a GoDep if Hash matches, otherwise create

func (*GoDeps) IterAll added in v0.0.96

func (x *GoDeps) IterAll() iter.Seq[*GoDep]

Iterate 'for x := range' syntax using the awesome golang 1.24 'iter'

func (*GoDeps) IterByGoPath added in v0.0.96

func (x *GoDeps) IterByGoPath() iter.Seq[*GoDep]

'for x := range' syntax using the awesome golang 1.24 'iter'

func (*GoDeps) IterByHash added in v0.0.96

func (x *GoDeps) IterByHash() iter.Seq[*GoDep]

'for x := range' syntax using the awesome golang 1.24 'iter'

func (*GoDeps) Len added in v0.0.10

func (x *GoDeps) Len() int

func (*GoDeps) ProtoMessage added in v0.0.10

func (*GoDeps) ProtoMessage()

func (*GoDeps) ProtoReflect added in v0.0.10

func (x *GoDeps) ProtoReflect() protoreflect.Message

func (*GoDeps) Reset added in v0.0.10

func (x *GoDeps) Reset()

func (*GoDeps) SortByGoPath added in v0.0.10

func (x *GoDeps) SortByGoPath() *GoDepScanner

func (*GoDeps) SortByHash added in v0.0.10

func (x *GoDeps) SortByHash() *GoDepScanner

func (*GoDeps) SortGoPath added in v0.0.155

func (pb *GoDeps) SortGoPath()

func (*GoDeps) SortHash added in v0.0.155

func (pb *GoDeps) SortHash()

func (*GoDeps) String added in v0.0.10

func (x *GoDeps) String() string

type GoDepsScanner added in v0.0.98

type GoDepsScanner struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*GoDepsScanner) Next added in v0.0.98

func (it *GoDepsScanner) Next() *GoDeps

Next() returns the next thing in the array

func (*GoDepsScanner) Scan added in v0.0.98

func (it *GoDepsScanner) Scan() bool

type GoInfo added in v0.0.34

type GoInfo struct {
	GoPath          string  `protobuf:"bytes,1,opt,name=goPath,proto3" json:"goPath,omitempty"`                     // the logical path as used by golang: 'go.wit.com/apps/helloworld'
	Desc            string  `protobuf:"bytes,2,opt,name=desc,proto3" json:"desc,omitempty"`                         // what is this repo?
	GoLibrary       bool    `protobuf:"varint,3,opt,name=goLibrary,proto3" json:"goLibrary,omitempty"`              // is this a golang library?
	GoBinary        bool    `protobuf:"varint,4,opt,name=goBinary,proto3" json:"goBinary,omitempty"`                // is this a golang binary?
	GoPrimitive     bool    `protobuf:"varint,5,opt,name=goPrimitive,proto3" json:"goPrimitive,omitempty"`          // if this is a golang primitive (only has go.mod)
	GoPlugin        bool    `protobuf:"varint,6,opt,name=goPlugin,proto3" json:"goPlugin,omitempty"`                // is this a golang plugin?
	GoProtobuf      bool    `protobuf:"varint,7,opt,name=goProtobuf,proto3" json:"goProtobuf,omitempty"`            // autogen go files from .proto
	GoDeps          *GoDeps `protobuf:"bytes,8,opt,name=goDeps,proto3" json:"goDeps,omitempty"`                     // what is in the go.sum file
	Published       *GoDeps `protobuf:"bytes,9,opt,name=published,proto3" json:"published,omitempty"`               // the last published go.mod/go.sum
	GoMod           []byte  `protobuf:"bytes,10,opt,name=goMod,proto3" json:"goMod,omitempty"`                      // the last go.mod file
	GoSum           []byte  `protobuf:"bytes,11,opt,name=goSum,proto3" json:"goSum,omitempty"`                      // the last go.sum file
	GitIgnoresGoSum bool    `protobuf:"varint,12,opt,name=gitIgnoresGoSum,proto3" json:"gitIgnoresGoSum,omitempty"` // does .gitignore ignore go.mod & go.sum?
	// contains filtered or unexported fields
}

this is probably better. think about moving to this instead

func (*GoInfo) Descriptor deprecated added in v0.0.34

func (*GoInfo) Descriptor() ([]byte, []int)

Deprecated: Use GoInfo.ProtoReflect.Descriptor instead.

func (*GoInfo) GetDesc added in v0.0.34

func (x *GoInfo) GetDesc() string

func (*GoInfo) GetGitIgnoresGoSum added in v0.0.34

func (x *GoInfo) GetGitIgnoresGoSum() bool

func (*GoInfo) GetGoBinary added in v0.0.34

func (x *GoInfo) GetGoBinary() bool

func (*GoInfo) GetGoDeps added in v0.0.34

func (x *GoInfo) GetGoDeps() *GoDeps

func (*GoInfo) GetGoLibrary added in v0.0.34

func (x *GoInfo) GetGoLibrary() bool

func (*GoInfo) GetGoMod added in v0.0.34

func (x *GoInfo) GetGoMod() []byte

func (*GoInfo) GetGoPath added in v0.0.34

func (x *GoInfo) GetGoPath() string

func (*GoInfo) GetGoPlugin added in v0.0.34

func (x *GoInfo) GetGoPlugin() bool

func (*GoInfo) GetGoPrimitive added in v0.0.34

func (x *GoInfo) GetGoPrimitive() bool

func (*GoInfo) GetGoProtobuf added in v0.0.34

func (x *GoInfo) GetGoProtobuf() bool

func (*GoInfo) GetGoSum added in v0.0.34

func (x *GoInfo) GetGoSum() []byte

func (*GoInfo) GetPublished added in v0.0.34

func (x *GoInfo) GetPublished() *GoDeps

func (*GoInfo) ProtoMessage added in v0.0.34

func (*GoInfo) ProtoMessage()

func (*GoInfo) ProtoReflect added in v0.0.34

func (x *GoInfo) ProtoReflect() protoreflect.Message

func (*GoInfo) Reset added in v0.0.34

func (x *GoInfo) Reset()

func (*GoInfo) String added in v0.0.34

func (x *GoInfo) String() string

type GoInfoScanner added in v0.0.98

type GoInfoScanner struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*GoInfoScanner) Next added in v0.0.98

func (it *GoInfoScanner) Next() *GoInfo

Next() returns the next thing in the array

func (*GoInfoScanner) Scan added in v0.0.98

func (it *GoInfoScanner) Scan() bool

type LinesScanner added in v0.0.152

type LinesScanner struct {
	sync.Mutex
	// contains filtered or unexported fields
}

LinesScanner provides an iterator over a slice of strings, allowing for sequential access and the ability to un-scan (step back).

func NewLinesScanner added in v0.0.152

func NewLinesScanner(things []string) *LinesScanner

newLinesScanner initializes a new LinesScanner iterator with a slice of strings.

func (*LinesScanner) Err added in v0.0.152

func (it *LinesScanner) Err() error

func (*LinesScanner) Next added in v0.0.152

func (it *LinesScanner) Next() string

Next returns the current line from the scanner with leading and trailing whitespace removed.

func (*LinesScanner) NextRaw added in v0.0.152

func (it *LinesScanner) NextRaw() string

NextRaw returns the current line from the scanner without any modification.

func (*LinesScanner) Scan added in v0.0.152

func (it *LinesScanner) Scan() bool

Scan advances the iterator to the next line. It returns false if there are no more lines.

func (*LinesScanner) Text added in v0.0.152

func (it *LinesScanner) Text() string

alias as some scanners use Text()

func (*LinesScanner) UnScan added in v0.0.152

func (it *LinesScanner) UnScan() bool

UnScan moves the iterator back one line. It returns false if the iterator is already at the beginning.

type Repo added in v0.0.10

type Repo struct {
	Uuid                 string     `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`                                  // `autogenpb:unique` `autogenpb:sort`
	Namespace            string     `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`                        // `autogenpb:unique` `autogenpb:sort`
	FullPath             string     `protobuf:"bytes,3,opt,name=fullPath,proto3" json:"fullPath,omitempty"`                          // `autogenpb:unique` `autogenpb:sort` 	// the OS path to the .git directory: '/home/devel/golang.org/x/tools'
	MasterBranchName     string     `protobuf:"bytes,4,opt,name=masterBranchName,proto3" json:"masterBranchName,omitempty"`          // git 'main' or 'master' branch name
	DevelBranchName      string     `protobuf:"bytes,5,opt,name=develBranchName,proto3" json:"develBranchName,omitempty"`            // whatever the git 'devel' branch name is
	UserBranchName       string     `protobuf:"bytes,6,opt,name=userBranchName,proto3" json:"userBranchName,omitempty"`              // whatever your username branch is
	Dirty                bool       `protobuf:"varint,7,opt,name=dirty,proto3" json:"dirty,omitempty"`                               // if git says things have been changed
	URL                  string     `protobuf:"bytes,8,opt,name=URL,proto3" json:"URL,omitempty"`                                    // the URL
	Times                *GitTimes  `protobuf:"bytes,9,opt,name=times,proto3" json:"times,omitempty"`                                // store all the mtime values here. these are temporary
	CurrentBranchName    string     `protobuf:"bytes,10,opt,name=currentBranchName,proto3" json:"currentBranchName,omitempty"`       // the branch currently checked out
	CurrentBranchVersion string     `protobuf:"bytes,11,opt,name=currentBranchVersion,proto3" json:"currentBranchVersion,omitempty"` // the branch currently checked out
	LastTag              string     `protobuf:"bytes,12,opt,name=lastTag,proto3" json:"lastTag,omitempty"`                           // the oldest tag
	TargetVersion        string     `protobuf:"bytes,13,opt,name=targetVersion,proto3" json:"targetVersion,omitempty"`               // useful during the package release process
	ReadOnly             bool       `protobuf:"varint,14,opt,name=readOnly,proto3" json:"readOnly,omitempty"`                        // tracks access to 'git push'
	Desc                 string     `protobuf:"bytes,15,opt,name=desc,proto3" json:"desc,omitempty"`                                 // what is this repo?
	StateChange          string     `protobuf:"bytes,16,opt,name=stateChange,proto3" json:"stateChange,omitempty"`                   // used for debugging tool logic
	MasterVersion        string     `protobuf:"bytes,17,opt,name=masterVersion,proto3" json:"masterVersion,omitempty"`               // just store this for now
	DevelVersion         string     `protobuf:"bytes,18,opt,name=develVersion,proto3" json:"develVersion,omitempty"`                 //
	UserVersion          string     `protobuf:"bytes,19,opt,name=userVersion,proto3" json:"userVersion,omitempty"`                   // `autogenpb:unique` `autogenpb:sort`
	DirtyList            []string   `protobuf:"bytes,20,rep,name=dirtyList,proto3" json:"dirtyList,omitempty"`                       // store the list from git status --porcelain
	State                string     `protobuf:"bytes,21,opt,name=state,proto3" json:"state,omitempty"`                               // status or state. useful for building tooling
	Config               *GitConfig `protobuf:"bytes,22,opt,name=config,proto3" json:"config,omitempty"`                             // protobuf of the current .git/config
	GoInfo               *GoInfo    `protobuf:"bytes,23,opt,name=goInfo,proto3" json:"goInfo,omitempty"`                             // put all the go specifcs here
	MasterStat           *Stat      `protobuf:"bytes,26,opt,name=masterStat,proto3" json:"masterStat,omitempty"`                     // just store this for now
	DevelStat            *Stat      `protobuf:"bytes,27,opt,name=develStat,proto3" json:"develStat,omitempty"`                       // just store this for now
	UserStat             *Stat      `protobuf:"bytes,28,opt,name=userStat,proto3" json:"userStat,omitempty"`                         // just store this for now
	Tags                 *Stats     `protobuf:"bytes,29,opt,name=tags,proto3" json:"tags,omitempty"`                                 // just store this for now
	// contains filtered or unexported fields
}

func NewRepo added in v0.0.124

func NewRepo(fullpath string) (*Repo, error)

func (*Repo) ActualDevelHash added in v0.0.119

func (repo *Repo) ActualDevelHash() string

func (*Repo) ActualGetDevelHash added in v0.0.132

func (repo *Repo) ActualGetDevelHash() string

func (*Repo) ActualGetMasterHash added in v0.0.146

func (repo *Repo) ActualGetMasterHash() (string, string)

func (*Repo) ActualGetUserHash added in v0.0.132

func (repo *Repo) ActualGetUserHash() string

func (*Repo) AgeGoDep added in v0.0.10

func (repo *Repo) AgeGoDep() time.Duration

returns time.Duration since last scan of go.sum & go.mod

func (*Repo) AppendGoDep added in v0.0.10

func (repo *Repo) AppendGoDep(newP *GoDep) bool

enforces no duplicate package names

func (*Repo) AutogenRestore added in v0.0.28

func (repo *Repo) AutogenRestore(refname string) error

restores files from git metadata (notes)

func (*Repo) AutogenSave added in v0.0.28

func (repo *Repo) AutogenSave(files []string, refname string, del bool) error

files : a list of files to save ["go.mod", "go.sum"] refname : could be "master" or "v0.1.5" or "a605119c2cc41" del : true means empty out existing notes, otherwise append

func (*Repo) BranchAge added in v0.0.62

func (repo *Repo) BranchAge(branch string) time.Duration

not really accurate. temprorary until git Config() parsing is better

func (*Repo) BranchExists added in v0.0.20

func (repo *Repo) BranchExists(bName string) bool

func (*Repo) CheckBranches added in v0.0.45

func (repo *Repo) CheckBranches() string

actually, this is to attempt to verify absolutely everything is pushed upstream before doing a rm -rf ~/go/src TODO: revisit this code in the autotypist later

func (*Repo) CheckDirty added in v0.0.11

func (repo *Repo) CheckDirty() bool

returns true if the repo is dirty runs os.Exec('git') every time

func (*Repo) CheckDirtyVerbose added in v0.0.159

func (repo *Repo) CheckDirtyVerbose() (string, error)

returns true if the repo is dirty runs os.Exec('git') every time

func (*Repo) CheckoutDevel added in v0.0.20

func (repo *Repo) CheckoutDevel() bool

deprecate this

func (*Repo) CheckoutDevelError added in v0.0.142

func (repo *Repo) CheckoutDevelError() error

func (*Repo) CheckoutForce added in v0.0.159

func (r *Repo) CheckoutForce() error

if you manage to leave yourself on a branch that has been deleted, git porcelain will report the repo as having changes (aka 'dirty') then this code won't let you switch branches this bypasses those checks and moves you to a working branch. 1st 'devel', then 'master'

func (*Repo) CheckoutMaster added in v0.0.20

func (repo *Repo) CheckoutMaster() bool

deprecate this

func (*Repo) CheckoutMasterError added in v0.0.142

func (repo *Repo) CheckoutMasterError() error

func (*Repo) CheckoutUser added in v0.0.20

func (repo *Repo) CheckoutUser() error

func (*Repo) CompareHashes added in v0.0.163

func (r *Repo) CompareHashes(keepHash string, deleteHash string) ([]string, []string, []string, []string, error)

func (*Repo) ConstructGitDiffLog added in v0.0.55

func (repo *Repo) ConstructGitDiffLog(branch1, branch2 string) []string

only safe to run len() on STDOUT DO NOT TRY TO PARSE THIS EXCEPT HASH AS FIRST VALUE Intended to be human readable

func (*Repo) CountDiffObjects added in v0.0.67

func (repo *Repo) CountDiffObjects(branch1, branch2 string) (int, error)

count all objects only in branch1

func (*Repo) CountDiffObjectsNEWNEW added in v0.0.151

func (repo *Repo) CountDiffObjectsNEWNEW(branch1, branch2 string) ([]string, []string, error)

count all objects only in branch1

func (*Repo) CountDiffObjectsVerbose added in v0.0.151

func (repo *Repo) CountDiffObjectsVerbose(branch1, branch2 string) ([]string, error)

func (*Repo) DebianCurrentVersion added in v0.0.11

func (repo *Repo) DebianCurrentVersion(buildnum int) string

func (*Repo) DebianReleaseVersion added in v0.0.11

func (repo *Repo) DebianReleaseVersion() string

func (*Repo) DeleteGoDepByHash added in v0.0.10

func (repo *Repo) DeleteGoDepByHash(hash string)

func (*Repo) DeleteLocalBranch added in v0.0.151

func (repo *Repo) DeleteLocalBranch(branch string) ([]string, error)

deletes the devel local branch if it is a subset of the remote devel branch

func (*Repo) DeleteLocalDevelBranch added in v0.0.79

func (repo *Repo) DeleteLocalDevelBranch() error

deletes the devel local branch if it is a subset of the remote devel branch

func (*Repo) Descriptor deprecated added in v0.0.10

func (*Repo) Descriptor() ([]byte, []int)

Deprecated: Use Repo.ProtoReflect.Descriptor instead.

func (*Repo) DidRepoChange added in v0.0.34

func (repo *Repo) DidRepoChange() error

func (*Repo) DidRepoChangeDir added in v0.0.145

func (repo *Repo) DidRepoChangeDir() error

also checks .git which seems to change *a lot* this might work immediately after git checkout

func (*Repo) ExamineBranches added in v0.0.54

func (repo *Repo) ExamineBranches() *Stat

func (*Repo) Exists added in v0.0.10

func (repo *Repo) Exists(filename string) bool

func (*Repo) ExistsUserBranchRemote added in v0.0.65

func (repo *Repo) ExistsUserBranchRemote() bool

returns true if 'git pull' will work

func (*Repo) FindGoDepByPath added in v0.0.10

func (repo *Repo) FindGoDepByPath(gopath string) *GoDep

find a dependancy by the go path

func (*Repo) FindLastTag added in v0.0.80

func (repo *Repo) FindLastTag() string

finds the newest tag. used for deciding if master needs to be published

func (*Repo) FindPatchIdByHash added in v0.0.152

func (repo *Repo) FindPatchIdByHash(hash string) (string, error)

forged patch: "working on ping pong" The --stable flag is an important detail. When you use it, git patch-id outputs two hashes: <stable_patch_id> <unstable_patch_id>

func (*Repo) FindPatchIdFromGitAm added in v0.0.152

func (repo *Repo) FindPatchIdFromGitAm(gitam []byte) (string, string, error)

func (*Repo) FormatJSON added in v0.0.10

func (v *Repo) FormatJSON() string

human readable JSON

func (*Repo) FormatTEXT added in v0.0.10

func (v *Repo) FormatTEXT() string

apparently this isn't stable, but it's awesomely better https://protobuf.dev/reference/go/faq/#unstable-text it's brilliant for config files!

func (*Repo) GetBranchDifferences added in v0.0.115

func (repo *Repo) GetBranchDifferences(to string, from string) []string

lookup a hash from a tag with 'git rev-list'

func (*Repo) GetBranches added in v0.0.45

func (repo *Repo) GetBranches() []string

func (*Repo) GetConfig added in v0.0.179

func (x *Repo) GetConfig() *GitConfig

func (*Repo) GetCurrentBranchName added in v0.0.11

func (x *Repo) GetCurrentBranchName() string

func (*Repo) GetCurrentBranchVersion added in v0.0.11

func (x *Repo) GetCurrentBranchVersion() string

func (*Repo) GetCurrentVersion added in v0.0.33

func (repo *Repo) GetCurrentVersion() string

this is used often. probably move everything to this returns things like v0.2.2 v0.22.39-1-g2141737 v0.23-dirty mystuff

func (*Repo) GetDesc added in v0.0.20

func (x *Repo) GetDesc() string

func (*Repo) GetDevelBranchName added in v0.0.10

func (x *Repo) GetDevelBranchName() string

func (*Repo) GetDevelStat added in v0.0.180

func (x *Repo) GetDevelStat() *Stat

func (*Repo) GetDevelVersion added in v0.0.14

func (x *Repo) GetDevelVersion() string

func (*Repo) GetDirty added in v0.0.11

func (x *Repo) GetDirty() bool

func (*Repo) GetDirtyList added in v0.0.45

func (x *Repo) GetDirtyList() []string

func (*Repo) GetFullPath added in v0.0.10

func (x *Repo) GetFullPath() string

func (*Repo) GetGoInfo added in v0.0.34

func (x *Repo) GetGoInfo() *GoInfo

func (*Repo) GetGoPath added in v0.0.10

func (repo *Repo) GetGoPath() string

func (*Repo) GetGoPrimitive added in v0.0.10

func (repo *Repo) GetGoPrimitive() bool

func (*Repo) GetHashName added in v0.0.66

func (repo *Repo) GetHashName(h string) (string, error)

git describe --tags e548b0fb6d0d14cdfb693850d592419f247dc2b1 v0.22.61-15-gbab84d7

func (*Repo) GetLastTag added in v0.0.10

func (x *Repo) GetLastTag() string

func (*Repo) GetLastTagVersion added in v0.0.11

func (repo *Repo) GetLastTagVersion() string

this should get the most recent tag

func (*Repo) GetLocalBranches added in v0.0.66

func (repo *Repo) GetLocalBranches() []string

func (*Repo) GetLocalDevelRef added in v0.0.151

func (r *Repo) GetLocalDevelRef() *Stat

func (*Repo) GetLocalHash added in v0.0.83

func (repo *Repo) GetLocalHash(brname string) string

func (*Repo) GetLocalMasterRef added in v0.0.151

func (r *Repo) GetLocalMasterRef() *Stat

func (*Repo) GetLocalUserRef added in v0.0.151

func (r *Repo) GetLocalUserRef() *Stat

func (*Repo) GetMasterBranchName added in v0.0.10

func (x *Repo) GetMasterBranchName() string

func (*Repo) GetMasterStat added in v0.0.180

func (x *Repo) GetMasterStat() *Stat

func (*Repo) GetMasterVersion added in v0.0.14

func (x *Repo) GetMasterVersion() string

func (*Repo) GetNamespace added in v0.0.101

func (x *Repo) GetNamespace() string

func (*Repo) GetProtoFiles added in v0.0.17

func (repo *Repo) GetProtoFiles() ([]string, error)

func (*Repo) GetReadOnly added in v0.0.20

func (x *Repo) GetReadOnly() bool

func (*Repo) GetRemoteBranches added in v0.0.66

func (repo *Repo) GetRemoteBranches() []string

func (*Repo) GetRemoteHash added in v0.0.83

func (repo *Repo) GetRemoteHash(brname string) string

func (*Repo) GetRemoteTag added in v0.0.140

func (repo *Repo) GetRemoteTag(brname string) *Stat

func (*Repo) GetRepoType added in v0.0.34

func (repo *Repo) GetRepoType() string

TODO: this needs to be redone in a smarter way to identify which repos have things to build in them

func (*Repo) GetSmartVersion added in v0.0.174

func (repo *Repo) GetSmartVersion() string

for comparison with the file versions in /var/lib/apt/lists/

func (*Repo) GetState added in v0.0.45

func (x *Repo) GetState() string

func (*Repo) GetStateChange added in v0.0.34

func (x *Repo) GetStateChange() string

func (*Repo) GetTagHash added in v0.0.67

func (repo *Repo) GetTagHash(t string) string

lookup a hash from a tag with 'git rev-list'

func (*Repo) GetTags added in v0.0.10

func (x *Repo) GetTags() *Stats

func (*Repo) GetTargetVersion added in v0.0.19

func (x *Repo) GetTargetVersion() string

func (*Repo) GetTimes added in v0.0.34

func (x *Repo) GetTimes() *GitTimes

func (*Repo) GetURL added in v0.0.20

func (x *Repo) GetURL() string

func (*Repo) GetUserBranchName added in v0.0.10

func (x *Repo) GetUserBranchName() string

func (*Repo) GetUserStat added in v0.0.180

func (x *Repo) GetUserStat() *Stat

func (*Repo) GetUserVersion added in v0.0.14

func (x *Repo) GetUserVersion() string

func (*Repo) GetUuid added in v0.0.180

func (x *Repo) GetUuid() string

func (*Repo) GitChanged added in v0.0.32

func (repo *Repo) GitChanged() bool

func (*Repo) GitCommit added in v0.0.141

func (repo *Repo) GitCommit() error

func (*Repo) GitDeleteOthers added in v0.0.155

func (repo *Repo) GitDeleteOthers() ([]string, error)

returns the list of files that can be deleted show untracked files git ls-files --others git ls-files --others --exclude-standard git ls-files --others --ignored --exclude-standard

func (*Repo) GitPull added in v0.0.20

func (repo *Repo) GitPull() (*cmd.Status, error)

func (*Repo) GitPullAge added in v0.0.32

func (repo *Repo) GitPullAge() time.Duration

func (*Repo) GoDepsLen added in v0.0.14

func (repo *Repo) GoDepsLen() int

func (*Repo) GoSumAge added in v0.0.28

func (repo *Repo) GoSumAge() (time.Duration, error)

func (*Repo) GoSumFromPkgDir added in v0.0.72

func (repo *Repo) GoSumFromPkgDir() (*GoDeps, error)

func (*Repo) GoSumFromRepo added in v0.0.72

func (repo *Repo) GoSumFromRepo() (*GoDeps, error)

func (*Repo) HasChanged added in v0.0.126

func (repo *Repo) HasChanged() error

returns true based on os.Stat() only checks seems to kinda work ok. goal is to avoid os.Exec() here for speed this might be the 1 place where libgit2 would be a good idea

func (*Repo) IfRefExists added in v0.0.150

func (repo *Repo) IfRefExists(refname string) *Stat

func (*Repo) IncrementTargetMinor added in v0.0.28

func (repo *Repo) IncrementTargetMinor()

changes the target minor. v0.1.3 becomes v0.2.0

func (*Repo) IncrementTargetRevision added in v0.0.28

func (repo *Repo) IncrementTargetRevision()

changes the target revision. v0.1.3 becomes v0.1.4

func (*Repo) IsBinary added in v0.0.76

func (r *Repo) IsBinary() bool

does this repo build a binary?

func (*Repo) IsBranch added in v0.0.10

func (repo *Repo) IsBranch(findname string) bool

find a branch namm will find "master" or "devel" will also find "v0.1.1" or will find "patches-from-foo" will return *any* match on any git branch because it doesn't matter much here yet eventually this will be worked out by forge in some future code that hasn't been made yet

func (*Repo) IsBranchLocal added in v0.0.151

func (repo *Repo) IsBranchLocal(findname string) *Stat

func (*Repo) IsBranchRemote added in v0.0.65

func (repo *Repo) IsBranchRemote(brname string) bool

this is the correct way. uses 'git show-ref'

func (*Repo) IsDevelBranch added in v0.0.45

func (repo *Repo) IsDevelBranch() bool

func (*Repo) IsDevelRemote added in v0.0.72

func (repo *Repo) IsDevelRemote() bool

this is the correct way. uses 'git show-ref'

func (*Repo) IsDirectory added in v0.0.12

func (repo *Repo) IsDirectory() bool

func (*Repo) IsDirty added in v0.0.11

func (repo *Repo) IsDirty() bool

just return the current value

func (*Repo) IsGitDirectory added in v0.0.28

func (repo *Repo) IsGitDirectory() bool

func (*Repo) IsGoPlugin added in v0.0.77

func (r *Repo) IsGoPlugin() bool

does this repo build a binary?

func (*Repo) IsLocalBranch added in v0.0.28

func (repo *Repo) IsLocalBranch(findname string) bool

func (*Repo) IsLocalBranchVerbose added in v0.0.159

func (repo *Repo) IsLocalBranchVerbose(findname string) bool

func (*Repo) IsMasterBranch added in v0.0.43

func (repo *Repo) IsMasterBranch() bool

func (*Repo) IsProtobuf added in v0.0.10

func (repo *Repo) IsProtobuf() bool

func (*Repo) IsRemoteBranch added in v0.0.150

func (repo *Repo) IsRemoteBranch(findname string) bool

func (*Repo) IsUserBranch added in v0.0.43

func (repo *Repo) IsUserBranch() bool

func (*Repo) IsValidDir added in v0.0.34

func (repo *Repo) IsValidDir() bool

func (*Repo) LastGitPull added in v0.0.28

func (repo *Repo) LastGitPull() (time.Time, error)

func (*Repo) LoadRefs added in v0.0.180

func (r *Repo) LoadRefs() (*Stats, error)

returns err if anything changes or anything is wrong (todo: should these be different?)

func (*Repo) LoadRemote added in v0.0.180

func (r *Repo) LoadRemote(remoteName string) (*Stats, error)

loads what is on disk already. that is all

func (*Repo) LoadRemoteRefs added in v0.0.180

func (r *Repo) LoadRemoteRefs(remoteName string) (*Stats, error)

returns err if anything changes or anything is wrong (todo: should these be different?)

func (*Repo) LoadStats added in v0.0.164

func (r *Repo) LoadStats(remote string) (*Stats, error)

func (*Repo) MakeLocalDevelBranch added in v0.0.105

func (repo *Repo) MakeLocalDevelBranch() (*cmd.Status, error)

makes a local branch based off of the master branch (unless a remote devel branch exists. then it uses that)

func (*Repo) MakeRemote added in v0.0.180

func (r *Repo) MakeRemote(remoteName string) (*Stats, error)

makes a new file. File must be empty at start

func (*Repo) MakeRemoteRefs added in v0.0.180

func (r *Repo) MakeRemoteRefs(remoteName string) (*Stats, error)

returns err if anything changes or anything is wrong (todo: should these be different?)

func (*Repo) Marshal added in v0.0.10

func (v *Repo) Marshal() ([]byte, error)

marshal to wire. This is called winning.

func (*Repo) MarshalJSON added in v0.0.10

func (v *Repo) MarshalJSON() ([]byte, error)

marshal json

func (*Repo) MergeToDevel added in v0.0.69

func (r *Repo) MergeToDevel() (*cmd.Status, error)

func (*Repo) MergeToMaster added in v0.0.69

func (r *Repo) MergeToMaster() (*cmd.Status, error)

func (*Repo) Mtime added in v0.0.34

func (repo *Repo) Mtime(fname string) *time.Time

func (*Repo) NewCompareRef added in v0.0.151

func (r *Repo) NewCompareRef(t *Stat) *RepoTag

func (*Repo) NewCompareTag added in v0.0.151

func (r *Repo) NewCompareTag(refname string) *RepoTag

func (*Repo) NewestAge added in v0.0.29

func (repo *Repo) NewestAge() time.Duration

biased code that gives out newer tag dates even if the code hasn't been patched

func (*Repo) NewestAgeVerbose added in v0.0.52

func (repo *Repo) NewestAgeVerbose() time.Duration

func (*Repo) NewestTag added in v0.0.20

func (repo *Repo) NewestTag() *Stat

func (*Repo) NewestTime added in v0.0.83

func (repo *Repo) NewestTime() time.Time

func (*Repo) NoteChange added in v0.0.11

func (repo *Repo) NoteChange(s string)

func (*Repo) ParseGoSum added in v0.0.18

func (repo *Repo) ParseGoSum() bool

reads and parses the go.sum file into a protobuf struct this function isn't supposed to change anything, just parse the existing files

func (*Repo) ProtoMessage added in v0.0.10

func (*Repo) ProtoMessage()

func (*Repo) ProtoReflect added in v0.0.10

func (x *Repo) ProtoReflect() protoreflect.Message

func (*Repo) ReadFile added in v0.0.28

func (repo *Repo) ReadFile(fname string) ([]byte, error)

func (*Repo) ReloadCheck added in v0.0.59

func (repo *Repo) ReloadCheck() error

does a fast check with os.Stat() if the mtimes changed, does a full repo.ReloadForce()

func (*Repo) ReloadForce added in v0.0.126

func (repo *Repo) ReloadForce() error

TODO: clean this up more, but it is working now more or less

func (*Repo) RepoIgnoresGoMod added in v0.0.30

func (repo *Repo) RepoIgnoresGoMod() error

is it a good idea to run go-mod-clean in this repo? for now, check if this repo should be ignored TODO: go.mod and go.sum should be moved to git tag metadata

func (*Repo) Reset added in v0.0.10

func (x *Repo) Reset()

func (*Repo) RevertMasterToDevel added in v0.0.34

func (repo *Repo) RevertMasterToDevel() bool

reverts master to devel used in the unwind process of making GUI releases

func (*Repo) Run added in v0.0.10

func (repo *Repo) Run(cmd []string) cmd.Status

execute something with the working directory set to the FullPath

func (*Repo) RunAll added in v0.0.34

func (repo *Repo) RunAll(all [][]string) bool

func (*Repo) RunEcho added in v0.0.28

func (repo *Repo) RunEcho(cmd []string) cmd.Status

func (*Repo) RunPipe added in v0.0.131

func (repo *Repo) RunPipe(cmd1 []string, cmd2 []string) cmd.Status

func (*Repo) RunQuiet added in v0.0.10

func (repo *Repo) RunQuiet(cmd []string) (*cmd.Status, error)

func (*Repo) RunRealtime added in v0.0.17

func (repo *Repo) RunRealtime(cmd []string) cmd.Status

func (*Repo) RunRealtimeVerbose added in v0.0.45

func (repo *Repo) RunRealtimeVerbose(cmd []string) cmd.Status

func (*Repo) RunStrict added in v0.0.28

func (repo *Repo) RunStrict(cmd []string) (*cmd.Status, error)

func (*Repo) RunStrictAll added in v0.0.44

func (repo *Repo) RunStrictAll(all [][]string) (*cmd.Status, error)

func (*Repo) RunVerbose added in v0.0.55

func (repo *Repo) RunVerbose(cmd []string) error

func (*Repo) RunVerboseOnError added in v0.0.55

func (repo *Repo) RunVerboseOnError(cmd []string) (*cmd.Status, error)

func (*Repo) RunVerboseWithError added in v0.0.154

func (repo *Repo) RunVerboseWithError(cmd []string) (*cmd.Status, error)

func (*Repo) SafeDelete added in v0.0.163

func (repo *Repo) SafeDelete(deleteHash string, keepHash string) error

It's safe to remove a tag if the deleteHash is completely contained in the keepHash This determines the git PatchId's for each hash and finds out if they are there brute force so it can be slow, but it worth it because it works (todo: detect rare duplicate patchId's)

func (*Repo) ScanProtobuf added in v0.0.153

func (repo *Repo) ScanProtobuf() (bool, []string, error)

This returns the list of autogenerated protobuf files it assumes any file *.pb.go is autogenerated

this are made from protoc / proto-gen-go these packages also use go.wit.com/apps/autogenpb

errors() if a .proto file does not have an autogenerated .pb.go file

func (*Repo) SetDevelBranchName added in v0.0.10

func (repo *Repo) SetDevelBranchName(bname string)

func (*Repo) SetGoPrimitive added in v0.0.34

func (repo *Repo) SetGoPrimitive(b bool)

func (*Repo) SetMasterBranchName added in v0.0.10

func (repo *Repo) SetMasterBranchName(s string)

func (*Repo) SetReadOnly added in v0.0.20

func (repo *Repo) SetReadOnly(b bool)

func (*Repo) SetTargetVersion added in v0.0.19

func (repo *Repo) SetTargetVersion(target string)

func (*Repo) SetUserBranchName added in v0.0.10

func (repo *Repo) SetUserBranchName(bname string)

func (*Repo) SmartSetState added in v0.0.159

func (repo *Repo) SmartSetState(newstate string) bool

func (*Repo) Stats added in v0.0.163

func (r *Repo) Stats() *Stats

func (*Repo) String added in v0.0.10

func (x *Repo) String() string

func (*Repo) Unmarshal added in v0.0.10

func (v *Repo) Unmarshal(data []byte) error

unmarshal from wire. You have won.

func (*Repo) UnmarshalJSON added in v0.0.10

func (v *Repo) UnmarshalJSON(data []byte) error

unmarshal json

func (*Repo) UnmarshalTEXT added in v0.0.10

func (v *Repo) UnmarshalTEXT(data []byte) error

unmarshalTEXT. This reads the .text config file back in after the user edits it

func (*Repo) UpdateRefs added in v0.0.180

func (r *Repo) UpdateRefs(stats *Stats) error

parses "git show-ref" into a protobuf returns err if anything changes or anything is wrong (todo: should these be different?) todo: purge old ones

func (*Repo) UpdateRemote added in v0.0.180

func (r *Repo) UpdateRemote(remoteName string) error

looks for new hashes. Run this after 'git fetch'

func (*Repo) UpdateRemoteRefs added in v0.0.180

func (r *Repo) UpdateRemoteRefs(remoteName string) error

returns err if anything changes or anything is wrong (todo: should these be different?)

func (*Repo) ValidGoSum added in v0.0.28

func (repo *Repo) ValidGoSum() error

checks to see if the go.sum and go.mod files exist also check for a match with the repo.pb GoPrimitive bool todo: check mtime

func (*Repo) ValidateUTF8 added in v0.0.110

func (repo *Repo) ValidateUTF8() error

todo: move this to Marshal() functions automatically in autogenpb?

func (*Repo) VerifyRemoteAndLocalBranches added in v0.0.123

func (repo *Repo) VerifyRemoteAndLocalBranches(bname string) bool

used in "normal" mode check

type RepoFunc added in v0.0.144

type RepoFunc struct {
	Custom func(*Repo)
	Width  int
	Attr   *guipb.ColAttr
	Header *guipb.Widget
	// contains filtered or unexported fields
}

func (*RepoFunc) SetTitle added in v0.0.144

func (sf *RepoFunc) SetTitle(title string)

type RepoScanner added in v0.0.98

type RepoScanner struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*RepoScanner) Next added in v0.0.98

func (it *RepoScanner) Next() *Repo

Next() returns the next thing in the array

func (*RepoScanner) Scan added in v0.0.98

func (it *RepoScanner) Scan() bool

type RepoTag added in v0.0.151

type RepoTag struct {
	// contains filtered or unexported fields
}

func (*RepoTag) CompareBranch added in v0.0.151

func (t1 *RepoTag) CompareBranch(t2 *RepoTag) ([]string, []string, []string, []string, error)

func (*RepoTag) GetRef added in v0.0.151

func (rt *RepoTag) GetRef() *Stat

func (*RepoTag) GetRefname added in v0.0.151

func (rt *RepoTag) GetRefname() string

func (*RepoTag) GreaterThan added in v0.0.151

func (t1 *RepoTag) GreaterThan(t2 *RepoTag) []string

if t1 is user branch, and t2 is devel branch, true if 0

type Repos added in v0.0.10

type Repos struct {
	Uuid        string                 `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`                // `autogenpb:uuid:8daaeba1-fb1f-4762-ae6e-95a55d352673`
	Version     string                 `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`          // `autogenpb:version:v0.1.0 go.wit.com/protobuf/gitpb`
	Repos       []*Repo                `protobuf:"bytes,3,rep,name=repos,proto3" json:"repos,omitempty"`              // `autogenpb:append`   // generate AppendUnique() function for this
	HasFullScan bool                   `protobuf:"varint,4,opt,name=hasFullScan,proto3" json:"hasFullScan,omitempty"` // a full repo scan has been saved to disk
	FullScan    *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=fullScan,proto3" json:"fullScan,omitempty"`        // mtime of the last full scan saved to disk
	Filename    string                 `protobuf:"bytes,6,opt,name=filename,proto3" json:"filename,omitempty"`        // `autogenpb:save` -- this enables autogenerated pb.Load() and pb.Save()
	// contains filtered or unexported fields
}

func NewRepos added in v0.0.54

func NewRepos() *Repos

func (*Repos) ActualSort added in v0.0.155

func (pb *Repos) ActualSort()

func (*Repos) All added in v0.0.10

func (x *Repos) All() *RepoScanner

func (*Repos) Append added in v0.0.10

func (x *Repos) Append(y *Repo)

a Append() shortcut (that does Clone() with a mutex) notsure if it really works doesn't allow nil

func (*Repos) AppendByFullPath added in v0.0.50

func (x *Repos) AppendByFullPath(y *Repo) bool

func (*Repos) AppendByNamespace added in v0.0.103

func (x *Repos) AppendByNamespace(y *Repo) bool

func (*Repos) AppendByUserVersion added in v0.0.173

func (x *Repos) AppendByUserVersion(y *Repo) bool

func (*Repos) AppendByUuid added in v0.0.180

func (x *Repos) AppendByUuid(y *Repo) bool

func (*Repos) CacheLoad added in v0.0.171

func (pb *Repos) CacheLoad() error

func (*Repos) CheckPorcelain added in v0.0.159

func (all *Repos) CheckPorcelain() (string, error)

func (*Repos) Clone added in v0.0.159

func (x *Repos) Clone(y *Repo) *Repo

a Clone() shortcut (with a mutex). notsure if it really works

func (*Repos) CloneByFullPath added in v0.0.159

func (x *Repos) CloneByFullPath(y *Repo) bool

func (*Repos) CloneByNamespace added in v0.0.159

func (x *Repos) CloneByNamespace(y *Repo) bool

func (*Repos) CloneByUserVersion added in v0.0.173

func (x *Repos) CloneByUserVersion(y *Repo) bool

func (*Repos) CloneByUuid added in v0.0.180

func (x *Repos) CloneByUuid(y *Repo) bool

func (*Repos) ConfigLoad added in v0.0.12

func (all *Repos) ConfigLoad(cfgname string) error

load the repos.pb file.

func (*Repos) ConfigSave added in v0.0.12

func (all *Repos) ConfigSave(fname string) error

write the repos.pb file

func (*Repos) Delete added in v0.0.59

func (x *Repos) Delete(y *Repo) bool

func (*Repos) DeleteByFullPath added in v0.0.33

func (x *Repos) DeleteByFullPath(s string) bool

func (*Repos) DeleteByNamespace added in v0.0.103

func (x *Repos) DeleteByNamespace(s string) bool

func (*Repos) DeleteByUserVersion added in v0.0.173

func (x *Repos) DeleteByUserVersion(s string) bool

func (*Repos) DeleteByUuid added in v0.0.180

func (x *Repos) DeleteByUuid(s string) bool

func (*Repos) Descriptor deprecated added in v0.0.10

func (*Repos) Descriptor() ([]byte, []int)

Deprecated: Use Repos.ProtoReflect.Descriptor instead.

func (*Repos) FindByFullPath added in v0.0.33

func (x *Repos) FindByFullPath(s string) *Repo

lookup a Repos by the FullPath

func (*Repos) FindByNamespace added in v0.0.103

func (x *Repos) FindByNamespace(s string) *Repo

lookup a Repos by the Namespace

func (*Repos) FindByUserVersion added in v0.0.173

func (x *Repos) FindByUserVersion(s string) *Repo

lookup a Repos by the UserVersion

func (*Repos) FindByUuid added in v0.0.180

func (x *Repos) FindByUuid(s string) *Repo

lookup a Repos by the Uuid

func (*Repos) FormatJSON added in v0.0.10

func (v *Repos) FormatJSON() string

human readable JSON

func (*Repos) FormatTEXT added in v0.0.10

func (v *Repos) FormatTEXT() string

apparently this isn't stable, but it's awesomely better https://protobuf.dev/reference/go/faq/#unstable-text it's brilliant for config files!

func (*Repos) GetFilename added in v0.0.152

func (x *Repos) GetFilename() string

func (*Repos) GetFullScan added in v0.0.68

func (x *Repos) GetFullScan() *timestamppb.Timestamp

func (*Repos) GetHasFullScan added in v0.0.68

func (x *Repos) GetHasFullScan() bool

func (*Repos) GetRepos added in v0.0.10

func (x *Repos) GetRepos() []*Repo

func (*Repos) GetUuid added in v0.0.10

func (x *Repos) GetUuid() string

func (*Repos) GetVersion added in v0.0.10

func (x *Repos) GetVersion() string

func (*Repos) HttpPost added in v0.0.119

func (p *Repos) HttpPost(baseURL string, route string) (*Repos, *httppb.HttpRequest, error)

Marshal protobuf, then http POST, then Unmarshal() to protobuf again

func (*Repos) InsertByFullPath added in v0.0.96

func (x *Repos) InsertByFullPath(y string) *Repo

returns a Repo if FullPath matches, otherwise create

func (*Repos) InsertByNamespace added in v0.0.103

func (x *Repos) InsertByNamespace(y string) *Repo

returns a Repo if Namespace matches, otherwise create

func (*Repos) InsertByUserVersion added in v0.0.173

func (x *Repos) InsertByUserVersion(y string) *Repo

returns a Repo if UserVersion matches, otherwise create

func (*Repos) InsertByUuid added in v0.0.180

func (x *Repos) InsertByUuid(y string) *Repo

returns a Repo if Uuid matches, otherwise create

func (*Repos) IterAll added in v0.0.96

func (x *Repos) IterAll() iter.Seq[*Repo]

Iterate 'for x := range' syntax using the awesome golang 1.24 'iter'

func (*Repos) IterByFullPath added in v0.0.96

func (x *Repos) IterByFullPath() iter.Seq[*Repo]

'for x := range' syntax using the awesome golang 1.24 'iter'

func (*Repos) IterByNamespace added in v0.0.101

func (x *Repos) IterByNamespace() iter.Seq[*Repo]

'for x := range' syntax using the awesome golang 1.24 'iter'

func (*Repos) IterByUserVersion added in v0.0.173

func (x *Repos) IterByUserVersion() iter.Seq[*Repo]

'for x := range' syntax using the awesome golang 1.24 'iter'

func (*Repos) IterByUuid added in v0.0.180

func (x *Repos) IterByUuid() iter.Seq[*Repo]

'for x := range' syntax using the awesome golang 1.24 'iter'

func (*Repos) Len added in v0.0.10

func (x *Repos) Len() int

func (*Repos) Load added in v0.0.152

func (pb *Repos) Load() error

func (*Repos) MakeDefaultTB added in v0.0.159

func (pb *Repos) MakeDefaultTB() *ReposTable

func (*Repos) MakeForgedTable added in v0.0.170

func (pb *Repos) MakeForgedTable() *ReposTable

func (*Repos) MakeGowebdTable added in v0.0.167

func (pb *Repos) MakeGowebdTable(name string) *ReposTable

func (*Repos) MakePublishNewTB added in v0.0.176

func (pb *Repos) MakePublishNewTB() *ReposTable

func (*Repos) MakePublishTable added in v0.0.171

func (pb *Repos) MakePublishTable() *ReposTable

func (*Repos) Marshal added in v0.0.10

func (v *Repos) Marshal() ([]byte, error)

marshal to wire. This is called winning.

func (*Repos) MarshalJSON added in v0.0.10

func (v *Repos) MarshalJSON() ([]byte, error)

marshal json

func (*Repos) NewGoRepo added in v0.0.34

func (all *Repos) NewGoRepo(fullpath string, gopath string) (*Repo, error)

scans in a new git repo. If it detects the repo is a golang project, then it parses the go.mod/go.sum files TODO: try adding python, rails, perl, rust, other language things? I probably will never have time to try that, but I'd take patches for anyone that might see this note and feel so inclined. todo: use Repos.Lock() ?

func (*Repos) NewRepo added in v0.0.107

func (all *Repos) NewRepo(fullpath string, namespace string) (*Repo, error)

func (*Repos) NewTable added in v0.0.81

func (x *Repos) NewTable(title string) *ReposTable

func (*Repos) PrintDefaultTB added in v0.0.159

func (pb *Repos) PrintDefaultTB() string

func (*Repos) PrintForgedTable added in v0.0.170

func (pb *Repos) PrintForgedTable() string

func (*Repos) PrintGowebdTable added in v0.0.167

func (pb *Repos) PrintGowebdTable() string

func (*Repos) PrintMissingTable added in v0.0.152

func (pb *Repos) PrintMissingTable()

rm this is junk

func (*Repos) PrintPublishNewTB added in v0.0.176

func (pb *Repos) PrintPublishNewTB() string

func (*Repos) PrintPublishTable added in v0.0.171

func (pb *Repos) PrintPublishTable() string

func (*Repos) ProtoMessage added in v0.0.10

func (*Repos) ProtoMessage()

func (*Repos) ProtoReflect added in v0.0.10

func (x *Repos) ProtoReflect() protoreflect.Message

func (*Repos) Reset added in v0.0.10

func (x *Repos) Reset()

func (*Repos) RillGitPull added in v0.0.24

func (all *Repos) RillGitPull(part1 int, part2 int) map[*Repo]*cmd.Status

rill is awesome. long live rill attempt scan with rill

func (*Repos) Save added in v0.0.152

func (pb *Repos) Save() error

func (*Repos) SaveSafe added in v0.0.162

func (pb *Repos) SaveSafe() error

func (*Repos) SaveValidate added in v0.0.152

func (pb *Repos) SaveValidate(fname string) error

bypass name check "repos.pb"

func (*Repos) SaveVerbose added in v0.0.166

func (pb *Repos) SaveVerbose() error

func (*Repos) ScanAllMtimesVerbose added in v0.0.159

func (all *Repos) ScanAllMtimesVerbose() (string, error)

func (*Repos) SendPB added in v0.0.103

func (r *Repos) SendPB(w http.ResponseWriter) error

func (*Repos) SendReply added in v0.0.119

func (p *Repos) SendReply(w http.ResponseWriter, reqPB *httppb.HttpRequest) error

func (*Repos) SmartSave added in v0.0.159

func (all *Repos) SmartSave() error

func (*Repos) SortActual added in v0.0.176

func (x *Repos) SortActual() *Repos

func (*Repos) SortByAge added in v0.0.173

func (x *Repos) SortByAge() *RepoScanner

func (*Repos) SortByFullPath added in v0.0.33

func (x *Repos) SortByFullPath() *RepoScanner

func (*Repos) SortByNamespace added in v0.0.101

func (x *Repos) SortByNamespace() *RepoScanner

func (*Repos) SortByUserVersion added in v0.0.173

func (x *Repos) SortByUserVersion() *RepoScanner

func (*Repos) SortByUuid added in v0.0.180

func (x *Repos) SortByUuid() *RepoScanner

func (*Repos) SortFullPath added in v0.0.155

func (pb *Repos) SortFullPath()

func (*Repos) SortNamespace added in v0.0.155

func (pb *Repos) SortNamespace()

func (*Repos) SortUserVersion added in v0.0.173

func (pb *Repos) SortUserVersion()

func (*Repos) SortUuid added in v0.0.180

func (pb *Repos) SortUuid()

func (*Repos) String added in v0.0.10

func (x *Repos) String() string

func (*Repos) SubmitReposPB added in v0.0.102

func (r *Repos) SubmitReposPB(url string) (*Repos, error)

func (*Repos) Unmarshal added in v0.0.10

func (v *Repos) Unmarshal(data []byte) error

unmarshal from wire. You have won.

func (*Repos) UnmarshalJSON added in v0.0.10

func (v *Repos) UnmarshalJSON(data []byte) error

unmarshal json

func (*Repos) UnmarshalTEXT added in v0.0.10

func (v *Repos) UnmarshalTEXT(data []byte) error

unmarshalTEXT. This reads the .text config file back in after the user edits it

type ReposScanner added in v0.0.98

type ReposScanner struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*ReposScanner) Next added in v0.0.98

func (it *ReposScanner) Next() *Repos

Next() returns the next thing in the array

func (*ReposScanner) Scan added in v0.0.98

func (it *ReposScanner) Scan() bool

type ReposTable added in v0.0.81

type ReposTable struct {
	Funcs      []*RepoFunc
	CustomFunc func(*Repo)
	// contains filtered or unexported fields
}

func (*ReposTable) AddButtonFunc added in v0.0.91

func (t *ReposTable) AddButtonFunc(title string, f func(*Repo) string) *RepoFunc

force the application to choose the type of data. this allows the GUI plugin to be smarter

func (*ReposTable) AddCurrentBranchName added in v0.0.81

func (t *ReposTable) AddCurrentBranchName() *RepoFunc

func (*ReposTable) AddCurrentBranchVersion added in v0.0.81

func (t *ReposTable) AddCurrentBranchVersion() *RepoFunc

func (*ReposTable) AddDesc added in v0.0.81

func (t *ReposTable) AddDesc() *RepoFunc

func (*ReposTable) AddDevelBranchName added in v0.0.81

func (t *ReposTable) AddDevelBranchName() *RepoFunc

func (*ReposTable) AddDevelVersion added in v0.0.81

func (t *ReposTable) AddDevelVersion() *RepoFunc

func (*ReposTable) AddFullPath added in v0.0.81

func (t *ReposTable) AddFullPath() *RepoFunc

func (*ReposTable) AddIntFunc added in v0.0.81

func (t *ReposTable) AddIntFunc(title string, f func(*Repo) int) *RepoFunc

force the application to choose the type of data. this allows the GUI plugin to be smarter

func (*ReposTable) AddLastTag added in v0.0.81

func (t *ReposTable) AddLastTag() *RepoFunc

func (*ReposTable) AddMasterBranchName added in v0.0.81

func (t *ReposTable) AddMasterBranchName() *RepoFunc

func (*ReposTable) AddMasterVersion added in v0.0.81

func (t *ReposTable) AddMasterVersion() *RepoFunc

func (*ReposTable) AddNamespace added in v0.0.101

func (t *ReposTable) AddNamespace() *RepoFunc

func (*ReposTable) AddState added in v0.0.81

func (t *ReposTable) AddState() *RepoFunc

func (*ReposTable) AddStateChange added in v0.0.81

func (t *ReposTable) AddStateChange() *RepoFunc

func (*ReposTable) AddStringFunc added in v0.0.81

func (t *ReposTable) AddStringFunc(title string, f func(*Repo) string) *RepoFunc

force the application to choose the type of data. this allows the GUI plugin to be smarter

func (*ReposTable) AddTargetVersion added in v0.0.81

func (t *ReposTable) AddTargetVersion() *RepoFunc

func (*ReposTable) AddTimeFunc added in v0.0.81

func (t *ReposTable) AddTimeFunc(title string, f func(*Repo) time.Time) *RepoFunc

force the application to choose the type of data. this allows the GUI plugin to be smarter

func (*ReposTable) AddURL added in v0.0.81

func (t *ReposTable) AddURL() *RepoFunc

func (*ReposTable) AddUserBranchName added in v0.0.81

func (t *ReposTable) AddUserBranchName() *RepoFunc

func (*ReposTable) AddUserVersion added in v0.0.81

func (t *ReposTable) AddUserVersion() *RepoFunc

func (*ReposTable) AddUuid added in v0.0.180

func (t *ReposTable) AddUuid() *RepoFunc

func (*ReposTable) Custom added in v0.0.91

func (mt *ReposTable) Custom(f func(*Repo))

func (*ReposTable) Delete added in v0.0.89

func (mt *ReposTable) Delete()

func (*ReposTable) GetUuid added in v0.0.90

func (mt *ReposTable) GetUuid() string

func (*ReposTable) MakeTable added in v0.0.81

func (mt *ReposTable) MakeTable()

func (*ReposTable) NewUuid added in v0.0.89

func (mt *ReposTable) NewUuid()

func (*ReposTable) PrintTable added in v0.0.136

func (t *ReposTable) PrintTable()

formats & prints the table as text to Stdout. a real timesaver!

func (*ReposTable) SetParent added in v0.0.84

func (mt *ReposTable) SetParent(p *gui.Node)

func (*ReposTable) ShowTable added in v0.0.81

func (mt *ReposTable) ShowTable()

type Stat added in v0.0.163

type Stat struct {
	PatchId          string                 `protobuf:"bytes,1,opt,name=patchId,proto3" json:"patchId,omitempty"`                       // `autogenpb:sort`
	Hash             string                 `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`                             // `autogenpb:sort`
	TreeHash         string                 `protobuf:"bytes,3,opt,name=treeHash,proto3" json:"treeHash,omitempty"`                     // `autogenpb:sort`
	TagHash          string                 `protobuf:"bytes,4,opt,name=tagHash,proto3" json:"tagHash,omitempty"`                       // `autogenpb:unique` `autogenpb:sort`
	AuthorTime       *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=authorTime,proto3" json:"authorTime,omitempty"`                 // `autogenpb:sort`
	CommitTime       *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=commitTime,proto3" json:"commitTime,omitempty"`                 // `autogenpb:sort`
	SanitizedSubject string                 `protobuf:"bytes,7,opt,name=sanitizedSubject,proto3" json:"sanitizedSubject,omitempty"`     // `autogenpb:sort`
	Name             string                 `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"`                             // `autogenpb:unique` `autogenpb:sort`
	Remote           string                 `protobuf:"bytes,9,opt,name=remote,proto3" json:"remote,omitempty"`                         // blank unless REMOTE
	Subject          string                 `protobuf:"bytes,10,opt,name=subject,proto3" json:"subject,omitempty"`                      // git tag subject
	Type             GitRef_RefType         `protobuf:"varint,11,opt,name=type,proto3,enum=gitpb.GitRef_RefType" json:"type,omitempty"` // is set by git as the master branch
	Refs             []*GitRef              `protobuf:"bytes,12,rep,name=refs,proto3" json:"refs,omitempty"`                            // this is dumb, but works for now. duplicate information is stored sometimes
	Tags             string                 `protobuf:"bytes,13,opt,name=tags,proto3" json:"tags,omitempty"`                            // git tag subject
	// contains filtered or unexported fields
}

TODO: use patch.proto instead

func (*Stat) Descriptor deprecated added in v0.0.163

func (*Stat) Descriptor() ([]byte, []int)

Deprecated: Use Stat.ProtoReflect.Descriptor instead.

func (*Stat) GetAge added in v0.0.182

func (tag *Stat) GetAge() time.Duration

func (*Stat) GetAuthorTime added in v0.0.180

func (x *Stat) GetAuthorTime() *timestamppb.Timestamp

func (*Stat) GetCommitTime added in v0.0.180

func (x *Stat) GetCommitTime() *timestamppb.Timestamp

func (*Stat) GetHash added in v0.0.163

func (x *Stat) GetHash() string

func (*Stat) GetName added in v0.0.163

func (x *Stat) GetName() string

func (*Stat) GetPatchId added in v0.0.163

func (x *Stat) GetPatchId() string

func (*Stat) GetRefs added in v0.0.180

func (x *Stat) GetRefs() []*GitRef

func (*Stat) GetRemote added in v0.0.163

func (x *Stat) GetRemote() string

func (*Stat) GetSanitizedSubject added in v0.0.180

func (x *Stat) GetSanitizedSubject() string

func (*Stat) GetSubject added in v0.0.163

func (x *Stat) GetSubject() string

func (*Stat) GetTagHash added in v0.0.180

func (x *Stat) GetTagHash() string

func (*Stat) GetTags added in v0.0.180

func (x *Stat) GetTags() string

func (*Stat) GetTreeHash added in v0.0.180

func (x *Stat) GetTreeHash() string

func (*Stat) GetType added in v0.0.163

func (x *Stat) GetType() GitRef_RefType

func (*Stat) ProtoMessage added in v0.0.163

func (*Stat) ProtoMessage()

func (*Stat) ProtoReflect added in v0.0.163

func (x *Stat) ProtoReflect() protoreflect.Message

func (*Stat) Reset added in v0.0.163

func (x *Stat) Reset()

func (*Stat) String added in v0.0.163

func (x *Stat) String() string

type StatAge added in v0.0.182

type StatAge []*Stat

func (StatAge) Len added in v0.0.182

func (a StatAge) Len() int

func (StatAge) Less added in v0.0.182

func (a StatAge) Less(i, j int) bool

sorts in ? order

func (StatAge) Swap added in v0.0.182

func (a StatAge) Swap(i, j int)

type StatFunc added in v0.0.163

type StatFunc struct {
	Custom func(*Stat)
	Width  int
	Attr   *guipb.ColAttr
	Header *guipb.Widget
	// contains filtered or unexported fields
}

func (*StatFunc) SetTitle added in v0.0.163

func (sf *StatFunc) SetTitle(title string)

type StatScanner added in v0.0.163

type StatScanner struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*StatScanner) Next added in v0.0.163

func (it *StatScanner) Next() *Stat

Next() returns the next thing in the array

func (*StatScanner) Scan added in v0.0.163

func (it *StatScanner) Scan() bool

type Stats added in v0.0.163

type Stats struct {
	Uuid     string                 `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`       // `autogenpb:uuid:ba236558-f8a1-4c47-a14a-8856a24d3f72`
	Version  string                 `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // `autogenpb:version:v0.0.7 go.wit.com/lib/protobuf/gitpb`
	Stats    []*Stat                `protobuf:"bytes,3,rep,name=stats,proto3" json:"stats,omitempty"`
	Filename string                 `protobuf:"bytes,4,opt,name=filename,proto3" json:"filename,omitempty"` // `autogenpb:save` -- this enables autogenerated pb.Load() and pb.Save()
	Head     string                 `protobuf:"bytes,5,opt,name=head,proto3" json:"head,omitempty"`         // the current origin hash
	Mtime    *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=mtime,proto3" json:"mtime,omitempty"`       // mtime for .git/
	Name     string                 `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`         // the current origin hash
	// contains filtered or unexported fields
}

normally stored as .git/*.pb cache files TODO: use patch.proto instead

func NewStats added in v0.0.163

func NewStats() *Stats

func (*Stats) All added in v0.0.163

func (x *Stats) All() *StatScanner

func (*Stats) Append added in v0.0.163

func (x *Stats) Append(y *Stat)

a Append() shortcut (that does Clone() with a mutex) notsure if it really works doesn't allow nil

func (*Stats) AppendByName added in v0.0.180

func (x *Stats) AppendByName(y *Stat) bool

func (*Stats) AppendByTagHash added in v0.0.180

func (x *Stats) AppendByTagHash(y *Stat) bool

func (*Stats) Clone added in v0.0.163

func (x *Stats) Clone(y *Stat) *Stat

a Clone() shortcut (with a mutex). notsure if it really works

func (*Stats) CloneByName added in v0.0.180

func (x *Stats) CloneByName(y *Stat) bool

func (*Stats) CloneByTagHash added in v0.0.180

func (x *Stats) CloneByTagHash(y *Stat) bool

func (*Stats) Delete added in v0.0.163

func (x *Stats) Delete(y *Stat) bool

func (*Stats) DeleteByName added in v0.0.180

func (x *Stats) DeleteByName(s string) bool

func (*Stats) DeleteByTagHash added in v0.0.180

func (x *Stats) DeleteByTagHash(s string) bool

func (*Stats) Descriptor deprecated added in v0.0.163

func (*Stats) Descriptor() ([]byte, []int)

Deprecated: Use Stats.ProtoReflect.Descriptor instead.

func (*Stats) FindByName added in v0.0.180

func (x *Stats) FindByName(s string) *Stat

lookup a Stats by the Name

func (*Stats) FindByTagHash added in v0.0.180

func (x *Stats) FindByTagHash(s string) *Stat

lookup a Stats by the TagHash

func (*Stats) FormatJSON added in v0.0.163

func (v *Stats) FormatJSON() string

human readable JSON

func (*Stats) FormatTEXT added in v0.0.163

func (v *Stats) FormatTEXT() string

apparently this isn't stable, but it's awesomely better https://protobuf.dev/reference/go/faq/#unstable-text it's brilliant for config files!

func (*Stats) GetAge added in v0.0.182

func (all *Stats) GetAge(name string) time.Time

func (*Stats) GetFilename added in v0.0.164

func (x *Stats) GetFilename() string

func (*Stats) GetHead added in v0.0.163

func (x *Stats) GetHead() string

func (*Stats) GetMtime added in v0.0.163

func (x *Stats) GetMtime() *timestamppb.Timestamp

func (*Stats) GetName added in v0.0.180

func (x *Stats) GetName() string

func (*Stats) GetStats added in v0.0.163

func (x *Stats) GetStats() []*Stat

func (*Stats) GetUuid added in v0.0.163

func (x *Stats) GetUuid() string

func (*Stats) GetVersion added in v0.0.163

func (x *Stats) GetVersion() string

func (*Stats) HttpPost added in v0.0.163

func (p *Stats) HttpPost(baseURL string, route string) (*Stats, *httppb.HttpRequest, error)

Marshal protobuf, then http POST, then Unmarshal() to protobuf again

func (*Stats) InsertByName added in v0.0.180

func (x *Stats) InsertByName(y string) *Stat

returns a Stat if Name matches, otherwise create

func (*Stats) InsertByTagHash added in v0.0.180

func (x *Stats) InsertByTagHash(y string) *Stat

returns a Stat if TagHash matches, otherwise create

func (*Stats) IterAll added in v0.0.163

func (x *Stats) IterAll() iter.Seq[*Stat]

Iterate 'for x := range' syntax using the awesome golang 1.24 'iter'

func (*Stats) IterByHash added in v0.0.180

func (x *Stats) IterByHash() iter.Seq[*Stat]

'for x := range' syntax using the awesome golang 1.24 'iter'

func (*Stats) IterByName added in v0.0.180

func (x *Stats) IterByName() iter.Seq[*Stat]

'for x := range' syntax using the awesome golang 1.24 'iter'

func (*Stats) IterByPatchId added in v0.0.168

func (x *Stats) IterByPatchId() iter.Seq[*Stat]

'for x := range' syntax using the awesome golang 1.24 'iter'

func (*Stats) IterBySanitizedSubject added in v0.0.180

func (x *Stats) IterBySanitizedSubject() iter.Seq[*Stat]

'for x := range' syntax using the awesome golang 1.24 'iter'

func (*Stats) IterByTagHash added in v0.0.180

func (x *Stats) IterByTagHash() iter.Seq[*Stat]

'for x := range' syntax using the awesome golang 1.24 'iter'

func (*Stats) IterByTreeHash added in v0.0.180

func (x *Stats) IterByTreeHash() iter.Seq[*Stat]

'for x := range' syntax using the awesome golang 1.24 'iter'

func (*Stats) Len added in v0.0.163

func (x *Stats) Len() int

func (*Stats) Load added in v0.0.164

func (pb *Stats) Load() error

func (*Stats) MakeTable added in v0.0.168

func (pb *Stats) MakeTable(name string) *StatsTable

func (*Stats) Marshal added in v0.0.163

func (v *Stats) Marshal() ([]byte, error)

marshal to wire. This is called winning.

func (*Stats) MarshalJSON added in v0.0.163

func (v *Stats) MarshalJSON() ([]byte, error)

marshal json

func (*Stats) NewTable added in v0.0.163

func (x *Stats) NewTable(title string) *StatsTable

func (*Stats) PrintTable added in v0.0.168

func (pb *Stats) PrintTable() string

func (*Stats) PrintTableLimit added in v0.0.168

func (pb *Stats) PrintTableLimit(limit int) string

func (*Stats) ProtoMessage added in v0.0.163

func (*Stats) ProtoMessage()

func (*Stats) ProtoReflect added in v0.0.163

func (x *Stats) ProtoReflect() protoreflect.Message

func (*Stats) Reset added in v0.0.163

func (x *Stats) Reset()

func (*Stats) Save added in v0.0.164

func (pb *Stats) Save() error

func (*Stats) SaveByHash added in v0.0.180

func (x *Stats) SaveByHash() error

func (*Stats) SaveVerbose added in v0.0.164

func (pb *Stats) SaveVerbose() error

func (*Stats) SendReply added in v0.0.163

func (p *Stats) SendReply(w http.ResponseWriter, reqPB *httppb.HttpRequest) error

func (*Stats) SortByAge added in v0.0.182

func (all *Stats) SortByAge() *StatScanner

func (*Stats) SortByHash added in v0.0.180

func (x *Stats) SortByHash() *StatScanner

func (*Stats) SortByName added in v0.0.180

func (x *Stats) SortByName() *StatScanner

func (*Stats) SortByPatchId added in v0.0.168

func (x *Stats) SortByPatchId() *StatScanner

func (*Stats) SortBySanitizedSubject added in v0.0.180

func (x *Stats) SortBySanitizedSubject() *StatScanner

func (*Stats) SortByTagHash added in v0.0.180

func (x *Stats) SortByTagHash() *StatScanner

func (*Stats) SortByTreeHash added in v0.0.180

func (x *Stats) SortByTreeHash() *StatScanner

func (*Stats) SortCtime added in v0.0.168

func (pb *Stats) SortCtime()

func (*Stats) SortHash added in v0.0.180

func (pb *Stats) SortHash()

func (*Stats) SortName added in v0.0.180

func (pb *Stats) SortName()

func (*Stats) SortPatchId added in v0.0.168

func (pb *Stats) SortPatchId()

func (*Stats) SortSanitizedSubject added in v0.0.180

func (pb *Stats) SortSanitizedSubject()

func (*Stats) SortTagHash added in v0.0.180

func (pb *Stats) SortTagHash()

func (*Stats) SortTreeHash added in v0.0.180

func (pb *Stats) SortTreeHash()

func (*Stats) SortVersion added in v0.0.180

func (pb *Stats) SortVersion() bool

func (*Stats) String added in v0.0.163

func (x *Stats) String() string

func (*Stats) Unmarshal added in v0.0.163

func (v *Stats) Unmarshal(data []byte) error

unmarshal from wire. You have won.

func (*Stats) UnmarshalJSON added in v0.0.163

func (v *Stats) UnmarshalJSON(data []byte) error

unmarshal json

func (*Stats) UnmarshalTEXT added in v0.0.163

func (v *Stats) UnmarshalTEXT(data []byte) error

unmarshalTEXT. This reads the .text config file back in after the user edits it

type StatsScanner added in v0.0.163

type StatsScanner struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func (*StatsScanner) Next added in v0.0.163

func (it *StatsScanner) Next() *Stats

Next() returns the next thing in the array

func (*StatsScanner) Scan added in v0.0.163

func (it *StatsScanner) Scan() bool

type StatsTable added in v0.0.163

type StatsTable struct {
	Funcs      []*StatFunc
	CustomFunc func(*Stat)
	// contains filtered or unexported fields
}

func (*StatsTable) AddButtonFunc added in v0.0.163

func (t *StatsTable) AddButtonFunc(title string, f func(*Stat) string) *StatFunc

force the application to choose the type of data. this allows the GUI plugin to be smarter

func (*StatsTable) AddHash added in v0.0.163

func (t *StatsTable) AddHash() *StatFunc

func (*StatsTable) AddIntFunc added in v0.0.163

func (t *StatsTable) AddIntFunc(title string, f func(*Stat) int) *StatFunc

force the application to choose the type of data. this allows the GUI plugin to be smarter

func (*StatsTable) AddName added in v0.0.163

func (t *StatsTable) AddName() *StatFunc

func (*StatsTable) AddPatchId added in v0.0.163

func (t *StatsTable) AddPatchId() *StatFunc

func (*StatsTable) AddRemote added in v0.0.163

func (t *StatsTable) AddRemote() *StatFunc

func (*StatsTable) AddSanitizedSubject added in v0.0.180

func (t *StatsTable) AddSanitizedSubject() *StatFunc

func (*StatsTable) AddStringFunc added in v0.0.163

func (t *StatsTable) AddStringFunc(title string, f func(*Stat) string) *StatFunc

force the application to choose the type of data. this allows the GUI plugin to be smarter

func (*StatsTable) AddSubject added in v0.0.163

func (t *StatsTable) AddSubject() *StatFunc

func (*StatsTable) AddTagHash added in v0.0.180

func (t *StatsTable) AddTagHash() *StatFunc

func (*StatsTable) AddTags added in v0.0.180

func (t *StatsTable) AddTags() *StatFunc

func (*StatsTable) AddTimeFunc added in v0.0.163

func (t *StatsTable) AddTimeFunc(title string, f func(*Stat) time.Time) *StatFunc

force the application to choose the type of data. this allows the GUI plugin to be smarter

func (*StatsTable) AddTreeHash added in v0.0.180

func (t *StatsTable) AddTreeHash() *StatFunc

func (*StatsTable) Custom added in v0.0.163

func (mt *StatsTable) Custom(f func(*Stat))

func (*StatsTable) Delete added in v0.0.163

func (mt *StatsTable) Delete()

func (*StatsTable) GetUuid added in v0.0.163

func (mt *StatsTable) GetUuid() string

func (*StatsTable) MakeTable added in v0.0.163

func (mt *StatsTable) MakeTable()

func (*StatsTable) NewUuid added in v0.0.163

func (mt *StatsTable) NewUuid()

func (*StatsTable) PrintTable added in v0.0.163

func (t *StatsTable) PrintTable()

formats & prints the table as text to Stdout. a real timesaver!

func (*StatsTable) PrintTableLimit added in v0.0.168

func (t *StatsTable) PrintTableLimit(limit int)

formats & prints the table as text to Stdout. a real timesaver!

func (*StatsTable) SetParent added in v0.0.163

func (mt *StatsTable) SetParent(p *gui.Node)

func (*StatsTable) ShowTable added in v0.0.163

func (mt *StatsTable) ShowTable()

type Vers added in v0.0.180

type Vers struct {
	// contains filtered or unexported fields
}

newver(0.25.101-1+b10) a == 0 b == 25 c == 101 pnum == 1 bnum == 10

func TokenVersions added in v0.0.180

func TokenVersions(ver string) (*Vers, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL