gitpb

package module
v0.0.64 Latest Latest
Warning

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

Go to latest
Published: Jan 20, 2025 License: GPL-3.0 Imports: 26 Imported by: 20

README

protobuf definition files for git repositories

requires autogenpb & go-mod-clean

  • go-clone go.wit.com/apps/autogenpb
  • you might also need: go-clone go.wit.com/apps/utils/go-mod-clean

Notes/TODO

  • all autogen files are stored as git metadata this includes the go.mod and go.sum files
  • this is done to keep the git commit log as clean as possible
  • metadata can be manipulated using go-mod-clean

Documentation

Index

Constants

This section is empty.

Variables

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_gitTag_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 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

Types

type GitBranch added in v0.0.57

type GitBranch struct {
	Remote string `protobuf:"bytes,1,opt,name=remote,proto3" json:"remote,omitempty"` // the name of the remote repo
	Merge  string `protobuf:"bytes,2,opt,name=merge,proto3" json:"merge,omitempty"`   // the merge path from the config file
	Name   string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`     // the branch name from the config file
	// 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) 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 GitBranchIterator added in v0.0.57

type GitBranchIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*GitBranchIterator) Next added in v0.0.57

func (it *GitBranchIterator) Next() *GitBranch

Next() returns the next thing in the array

func (*GitBranchIterator) Scan added in v0.0.57

func (it *GitBranchIterator) 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 */
	Remotes map[string]*GitRemote `` // map[origin] = "https:/git.wit.org/gui/gadgets"
	/* 155-byte string literal not displayed */
	Branches map[string]*GitBranch `` // map[guimaster] = origin guimaster
	/* 157-byte string literal not displayed */
	Submodules map[string]string ``                                                                /* 161-byte string literal not displayed */
	Hashes     map[string]string ``                                                                /* 153-byte string literal not displayed */
	Versions   map[string]string ``                                                                /* 157-byte string literal not displayed */
	Local      []*GitBranch      `protobuf:"bytes,7,rep,name=local,proto3" json:"local,omitempty"` // move this this and away from the map<> variables
	// contains filtered or unexported fields
}

readGitConfig reads and parses the .git/config file

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() map[string]*GitBranch

func (*GitConfig) GetCore added in v0.0.57

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

func (*GitConfig) GetHashes added in v0.0.57

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

func (*GitConfig) GetLocal added in v0.0.59

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

func (*GitConfig) GetRemotes added in v0.0.57

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

func (*GitConfig) GetSubmodules added in v0.0.57

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

func (*GitConfig) GetVersions added in v0.0.57

func (x *GitConfig) GetVersions() 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 GitConfigIterator added in v0.0.57

type GitConfigIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*GitConfigIterator) Next added in v0.0.57

func (it *GitConfigIterator) Next() *GitConfig

Next() returns the next thing in the array

func (*GitConfigIterator) Scan added in v0.0.57

func (it *GitConfigIterator) Scan() bool

type GitRemote added in v0.0.57

type GitRemote struct {
	Url   string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	Fetch string `protobuf:"bytes,2,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) 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 GitRemoteIterator added in v0.0.57

type GitRemoteIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*GitRemoteIterator) Next added in v0.0.57

func (it *GitRemoteIterator) Next() *GitRemote

Next() returns the next thing in the array

func (*GitRemoteIterator) Scan added in v0.0.57

func (it *GitRemoteIterator) Scan() bool

type GitTag added in v0.0.10

type GitTag struct {
	Refname     string                 `protobuf:"bytes,1,opt,name=refname,proto3" json:"refname,omitempty"`         // `autogenpb:unique` `autogenpb:sort` 	// tag name. treated as unique
	Creatordate *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=creatordate,proto3" json:"creatordate,omitempty"` // git creatordate
	Authordate  *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=authordate,proto3" json:"authordate,omitempty"`   // git author date
	Hash        string                 `protobuf:"bytes,4,opt,name=hash,proto3" json:"hash,omitempty"`               // `autogenpb:unique` // git hash
	Subject     string                 `protobuf:"bytes,5,opt,name=subject,proto3" json:"subject,omitempty"`         // git tag subject
	// contains filtered or unexported fields
}

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

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

Deprecated: Use GitTag.ProtoReflect.Descriptor instead.

func (*GitTag) GetAge added in v0.0.20

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

func (*GitTag) GetAuthordate added in v0.0.10

func (x *GitTag) GetAuthordate() *timestamppb.Timestamp

func (*GitTag) GetCreatordate added in v0.0.10

func (x *GitTag) GetCreatordate() *timestamppb.Timestamp

func (*GitTag) GetHash added in v0.0.10

func (x *GitTag) GetHash() string

func (*GitTag) GetRefname added in v0.0.10

func (x *GitTag) GetRefname() string

func (*GitTag) GetSubject added in v0.0.10

func (x *GitTag) GetSubject() string

func (*GitTag) ProtoMessage added in v0.0.10

func (*GitTag) ProtoMessage()

func (*GitTag) ProtoReflect added in v0.0.10

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

func (*GitTag) Reset added in v0.0.10

func (x *GitTag) Reset()

func (*GitTag) String added in v0.0.10

func (x *GitTag) String() string

type GitTagAge added in v0.0.19

type GitTagAge []*GitTag

func (GitTagAge) Len added in v0.0.19

func (a GitTagAge) Len() int

func (GitTagAge) Less added in v0.0.19

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

sorts in ? order

func (GitTagAge) Swap added in v0.0.19

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

type GitTagIterator added in v0.0.10

type GitTagIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*GitTagIterator) Next added in v0.0.10

func (it *GitTagIterator) Next() *GitTag

Next() returns the next thing in the array

func (*GitTagIterator) Scan added in v0.0.10

func (it *GitTagIterator) Scan() bool

type GitTagRefname added in v0.0.10

type GitTagRefname []*GitTag

sort struct by Refname

func (GitTagRefname) Len added in v0.0.10

func (a GitTagRefname) Len() int

func (GitTagRefname) Less added in v0.0.10

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

func (GitTagRefname) Swap added in v0.0.10

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

type GitTags added in v0.0.10

type GitTags struct {
	Uuid    string    `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`       // `autogenpb:uuid:ffdff813-0316-4372-9e82-4c1c7d202526`
	Version string    `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // `autogenpb:version:v0.0.47`
	GitTags []*GitTag `protobuf:"bytes,3,rep,name=gitTags,proto3" json:"gitTags,omitempty"`
	// contains filtered or unexported fields
}

func NewGitTags added in v0.0.54

func NewGitTags() *GitTags

func (*GitTags) All added in v0.0.10

func (x *GitTags) All() *GitTagIterator

func (*GitTags) Append added in v0.0.10

func (x *GitTags) Append(y *GitTag)

just a simple Append() shortcut (but still uses the mutex lock)

func (*GitTags) AppendByHash added in v0.0.50

func (x *GitTags) AppendByHash(y *GitTag) bool

func (*GitTags) AppendByRefname added in v0.0.50

func (x *GitTags) AppendByRefname(y *GitTag) bool

func (*GitTags) Delete added in v0.0.59

func (x *GitTags) Delete(y *GitTag) bool

func (*GitTags) DeleteByHash added in v0.0.10

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

func (*GitTags) DeleteByRefname added in v0.0.10

func (x *GitTags) DeleteByRefname(s string) bool

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

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

Deprecated: Use GitTags.ProtoReflect.Descriptor instead.

func (*GitTags) FindByHash added in v0.0.10

func (x *GitTags) FindByHash(s string) *GitTag

lookup a GitTags by the Hash

func (*GitTags) FindByRefname added in v0.0.10

func (x *GitTags) FindByRefname(s string) *GitTag

lookup a GitTags by the Refname

func (*GitTags) FormatJSON added in v0.0.12

func (v *GitTags) FormatJSON() string

human readable JSON

func (*GitTags) FormatTEXT added in v0.0.12

func (v *GitTags) 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 (*GitTags) GetAge added in v0.0.52

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

func (*GitTags) GetGitTags added in v0.0.10

func (x *GitTags) GetGitTags() []*GitTag

func (*GitTags) GetUuid added in v0.0.10

func (x *GitTags) GetUuid() string

func (*GitTags) GetVersion added in v0.0.10

func (x *GitTags) GetVersion() string

func (*GitTags) Len added in v0.0.10

func (x *GitTags) Len() int

func (*GitTags) Marshal added in v0.0.12

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

marshal to wire. This is called winning.

func (*GitTags) MarshalJSON added in v0.0.12

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

marshal json

func (*GitTags) ProtoMessage added in v0.0.10

func (*GitTags) ProtoMessage()

func (*GitTags) ProtoReflect added in v0.0.10

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

func (*GitTags) Reset added in v0.0.10

func (x *GitTags) Reset()

func (*GitTags) SortByAge added in v0.0.19

func (all *GitTags) SortByAge() *GitTagIterator

func (*GitTags) SortByRefname added in v0.0.10

func (x *GitTags) SortByRefname() *GitTagIterator

func (*GitTags) String added in v0.0.10

func (x *GitTags) String() string

func (*GitTags) Unmarshal added in v0.0.12

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

unmarshal from wire. You have won.

func (*GitTags) UnmarshalJSON added in v0.0.12

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

unmarshal json

func (*GitTags) UnmarshalTEXT added in v0.0.12

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

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

type GitTagsIterator added in v0.0.50

type GitTagsIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*GitTagsIterator) Next added in v0.0.50

func (it *GitTagsIterator) Next() *GitTags

Next() returns the next thing in the array

func (*GitTagsIterator) Scan added in v0.0.50

func (it *GitTagsIterator) 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
}

should it be done this way?

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 GitTimesIterator added in v0.0.50

type GitTimesIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*GitTimesIterator) Next added in v0.0.50

func (it *GitTimesIterator) Next() *GitTimes

Next() returns the next thing in the array

func (*GitTimesIterator) Scan added in v0.0.50

func (it *GitTimesIterator) 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 GoDepGoPath added in v0.0.10

type GoDepGoPath []*GoDep

sort struct by GoPath

func (GoDepGoPath) Len added in v0.0.10

func (a GoDepGoPath) Len() int

func (GoDepGoPath) Less added in v0.0.10

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

func (GoDepGoPath) Swap added in v0.0.10

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

type GoDepHash added in v0.0.10

type GoDepHash []*GoDep

sort struct by Hash

func (GoDepHash) Len added in v0.0.10

func (a GoDepHash) Len() int

func (GoDepHash) Less added in v0.0.10

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

func (GoDepHash) Swap added in v0.0.10

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

type GoDepIterator added in v0.0.10

type GoDepIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*GoDepIterator) Next added in v0.0.10

func (it *GoDepIterator) Next() *GoDep

Next() returns the next thing in the array

func (*GoDepIterator) Scan added in v0.0.10

func (it *GoDepIterator) 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 NewGoDeps added in v0.0.54

func NewGoDeps() *GoDeps

func (*GoDeps) All added in v0.0.10

func (x *GoDeps) All() *GoDepIterator

func (*GoDeps) Append added in v0.0.10

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

just a simple Append() shortcut (but still uses the mutex lock)

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) 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) 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() *GoDepIterator

func (*GoDeps) SortByHash added in v0.0.10

func (x *GoDeps) SortByHash() *GoDepIterator

func (*GoDeps) String added in v0.0.10

func (x *GoDeps) String() string

type GoDepsIterator added in v0.0.50

type GoDepsIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*GoDepsIterator) Next added in v0.0.50

func (it *GoDepsIterator) Next() *GoDeps

Next() returns the next thing in the array

func (*GoDepsIterator) Scan added in v0.0.50

func (it *GoDepsIterator) 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 GoInfoIterator added in v0.0.50

type GoInfoIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*GoInfoIterator) Next added in v0.0.50

func (it *GoInfoIterator) Next() *GoInfo

Next() returns the next thing in the array

func (*GoInfoIterator) Scan added in v0.0.50

func (it *GoInfoIterator) Scan() bool

type Patch added in v0.0.20

type Patch struct {
	GoPath string
	Ref    string
	// contains filtered or unexported fields
}

type Repo added in v0.0.10

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

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() bool

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

actually os.Exec('git')

func (*Repo) CheckoutDevel added in v0.0.20

func (repo *Repo) CheckoutDevel() bool

func (*Repo) CheckoutMaster added in v0.0.20

func (repo *Repo) CheckoutMaster() bool

func (*Repo) CheckoutUser added in v0.0.20

func (repo *Repo) CheckoutUser() 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) DebianCurrentVersion added in v0.0.11

func (repo *Repo) DebianCurrentVersion() 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) Descriptor deprecated added in v0.0.10

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

Deprecated: Use Repo.ProtoReflect.Descriptor instead.

func (*Repo) DevelHash added in v0.0.44

func (repo *Repo) DevelHash() string

func (*Repo) DidRepoChange added in v0.0.34

func (repo *Repo) DidRepoChange() bool

func (*Repo) ExamineBranches added in v0.0.54

func (repo *Repo) ExamineBranches() *GitTag

func (*Repo) Exists added in v0.0.10

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

func (*Repo) FindGoDepByPath added in v0.0.10

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

find a dependancy by the go path

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) GetBranches added in v0.0.45

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

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) GetCurrentTag added in v0.0.54

func (x *Repo) GetCurrentTag() *GitTag

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) 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) GetGitConfig added in v0.0.57

func (x *Repo) GetGitConfig() *GitConfig

func (*Repo) GetGoDeps added in v0.0.10

func (x *Repo) GetGoDeps() *GoDeps

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) 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) GetMasterBranchName added in v0.0.10

func (x *Repo) GetMasterBranchName() string

func (*Repo) GetMasterPatches added in v0.0.20

func (repo *Repo) GetMasterPatches() (int, []*Patch)

func (*Repo) GetMasterVersion added in v0.0.14

func (x *Repo) GetMasterVersion() string

func (*Repo) GetPatches added in v0.0.20

func (repo *Repo) GetPatches(oldname string, newname string) (int, []*Patch)

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) 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) 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) GetTags added in v0.0.10

func (x *Repo) GetTags() *GitTags

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) GetUserPatches added in v0.0.20

func (repo *Repo) GetUserPatches() (int, []*Patch)

func (*Repo) GetUserVersion added in v0.0.14

func (x *Repo) GetUserVersion() string

func (*Repo) GitChanged added in v0.0.32

func (repo *Repo) GitChanged() bool

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) GitPullRealtime added in v0.0.34

func (repo *Repo) GitPullRealtime() cmd.Status

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) 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() bool

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

func (*Repo) IsBranch added in v0.0.10

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

find a branch name 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) IsDevelBranch added in v0.0.45

func (repo *Repo) IsDevelBranch() bool

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) IsLocalBranch added in v0.0.28

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

todo: redo this and above. both are messed up. ignore for now until things are stable

func (*Repo) IsMasterBranch added in v0.0.43

func (repo *Repo) IsMasterBranch() bool

func (*Repo) IsOnlyLocalTag added in v0.0.20

func (repo *Repo) IsOnlyLocalTag(taggy string) bool

returns true if 'taggy' is _ONLY_ a local tag this means you can not do a git pull or git push on it

func (*Repo) IsProtobuf added in v0.0.10

func (repo *Repo) IsProtobuf() (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) 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) LocalTagExists added in v0.0.26

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

this should just do is.Exists(".git/refs/heads/findname")

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) MergeDevelToMaster added in v0.0.44

func (rs *Repo) MergeDevelToMaster() (*cmd.Status, error)

func (*Repo) MergeUserToDevel added in v0.0.44

func (rs *Repo) MergeUserToDevel() (*cmd.Status, error)

func (*Repo) Mtime added in v0.0.34

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

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() *GitTag

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 does not change anything

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) Reload added in v0.0.34

func (repo *Repo) Reload() error

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

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.Reload()

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) RunQuiet added in v0.0.10

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

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) error

error if result.Error or if result.Exit != 0

func (*Repo) RunStrictAll added in v0.0.44

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

func (*Repo) RunStrictNew added in v0.0.44

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

func (*Repo) RunVerbose added in v0.0.55

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

func (*Repo) RunVerboseOnError added in v0.0.55

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

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) StrictRun added in v0.0.28

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

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) 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

type RepoFullPath added in v0.0.33

type RepoFullPath []*Repo

sort struct by FullPath

func (RepoFullPath) Len added in v0.0.33

func (a RepoFullPath) Len() int

func (RepoFullPath) Less added in v0.0.33

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

func (RepoFullPath) Swap added in v0.0.33

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

type RepoIterator added in v0.0.10

type RepoIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*RepoIterator) Next added in v0.0.10

func (it *RepoIterator) Next() *Repo

Next() returns the next thing in the array

func (*RepoIterator) Scan added in v0.0.10

func (it *RepoIterator) Scan() bool

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:v3`
	Repos   []*Repo `protobuf:"bytes,3,rep,name=repos,proto3" json:"repos,omitempty"`     // `autogenpb:append`   // generate AppendUnique() function for this
	// contains filtered or unexported fields
}

func NewRepos added in v0.0.54

func NewRepos() *Repos

func (*Repos) All added in v0.0.10

func (x *Repos) All() *RepoIterator

func (*Repos) Append added in v0.0.10

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

just a simple Append() shortcut (but still uses the mutex lock)

func (*Repos) AppendByFullPath added in v0.0.50

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

func (*Repos) AppendByGoPath added in v0.0.50

func (all *Repos) AppendByGoPath(newr *Repo) bool

enforces GoPath is unique

func (*Repos) ConfigLoad added in v0.0.12

func (all *Repos) ConfigLoad() error

load the repos.pb file. I shouldn't really matter if this fails. the file should be autogenerated. This is used locally just for speed

func (*Repos) ConfigSave added in v0.0.12

func (all *Repos) ConfigSave() error

write to ~/.config/forge/ unless ENV{FORGE_GOSRC} is set

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) 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) 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) 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) Len added in v0.0.10

func (x *Repos) Len() int

func (*Repos) MakePatchset added in v0.0.20

func (all *Repos) MakePatchset(setdir string) bool

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) 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) SortByFullPath added in v0.0.33

func (x *Repos) SortByFullPath() *RepoIterator

func (*Repos) String added in v0.0.10

func (x *Repos) String() string

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 ReposIterator added in v0.0.50

type ReposIterator struct {
	sync.RWMutex // this isn't getting used properly yet?
	// contains filtered or unexported fields
}

func (*ReposIterator) Next added in v0.0.50

func (it *ReposIterator) Next() *Repos

Next() returns the next thing in the array

func (*ReposIterator) Scan added in v0.0.50

func (it *ReposIterator) Scan() bool

Jump to

Keyboard shortcuts

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