show a single repo
This commit is contained in:
parent
b27a1fccad
commit
d5143b94b8
1
argv.go
1
argv.go
|
@ -22,6 +22,7 @@ type args struct {
|
||||||
Rescan *EmptyCmd `arg:"subcommand:rescan" help:"recreate the git protobuf repos.pb file"`
|
Rescan *EmptyCmd `arg:"subcommand:rescan" help:"recreate the git protobuf repos.pb file"`
|
||||||
Delete *EmptyCmd `arg:"subcommand:delete" help:"untrack a repo"`
|
Delete *EmptyCmd `arg:"subcommand:delete" help:"untrack a repo"`
|
||||||
URL string `arg:"--connect" help:"gowebd url"`
|
URL string `arg:"--connect" help:"gowebd url"`
|
||||||
|
Show string `arg:"--show" help:"show a repo"`
|
||||||
Bash bool `arg:"--bash" help:"generate bash completion"`
|
Bash bool `arg:"--bash" help:"generate bash completion"`
|
||||||
BashAuto []string `arg:"--auto-complete" help:"does the actual autocompletion"`
|
BashAuto []string `arg:"--auto-complete" help:"does the actual autocompletion"`
|
||||||
Force bool `arg:"--force" help:"try to strong arm things"`
|
Force bool `arg:"--force" help:"try to strong arm things"`
|
||||||
|
|
|
@ -41,7 +41,7 @@ func (args) doBashAuto() {
|
||||||
default:
|
default:
|
||||||
if argv.BashAuto[0] == ARGNAME {
|
if argv.BashAuto[0] == ARGNAME {
|
||||||
// list the subcommands here
|
// list the subcommands here
|
||||||
fmt.Println("--bash checkout config dirty delete hard-reset list patch pull rescan")
|
fmt.Println("--bash --show checkout config dirty delete hard-reset list patch pull rescan")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
os.Exit(0)
|
os.Exit(0)
|
||||||
|
|
|
@ -127,7 +127,7 @@ func doAllCheckoutDevel() bool {
|
||||||
me.forge = forgepb.Init()
|
me.forge = forgepb.Init()
|
||||||
if !IsEverythingOnDevel() {
|
if !IsEverythingOnDevel() {
|
||||||
log.Info("switching to devel branch failed")
|
log.Info("switching to devel branch failed")
|
||||||
doCobol()
|
doHumanTable()
|
||||||
badExit(nil)
|
badExit(nil)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
@ -139,7 +139,7 @@ func doAllCheckoutUser() bool {
|
||||||
me.forge = forgepb.Init()
|
me.forge = forgepb.Init()
|
||||||
if !IsEverythingOnUser() {
|
if !IsEverythingOnUser() {
|
||||||
log.Info("switching to user branch failed")
|
log.Info("switching to user branch failed")
|
||||||
doCobol()
|
doHumanTable()
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
|
|
|
@ -0,0 +1,91 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"path/filepath"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"go.wit.com/lib/gui/shell"
|
||||||
|
"go.wit.com/lib/protobuf/gitpb"
|
||||||
|
"go.wit.com/log"
|
||||||
|
)
|
||||||
|
|
||||||
|
func HumanPrintRepo(check *gitpb.Repo) {
|
||||||
|
if check == nil {
|
||||||
|
log.Info("forge: you sent me nil")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if check.GetTargetVersion() == "" {
|
||||||
|
log.Info("TargetVersion == blank")
|
||||||
|
}
|
||||||
|
if check.GetTargetVersion() == check.GetCurrentVersion() {
|
||||||
|
log.Info("IsReleased() == true. do not release this a second time")
|
||||||
|
} else {
|
||||||
|
log.Info("IsReleased() == false")
|
||||||
|
}
|
||||||
|
if check.CheckDirty() {
|
||||||
|
log.Info("CheckDirty() == true. do not release dirty repos")
|
||||||
|
} else {
|
||||||
|
log.Info("CheckDirty() == false")
|
||||||
|
}
|
||||||
|
if check.GetGoPrimitive() {
|
||||||
|
log.Info("IsPrimitive() == true")
|
||||||
|
} else {
|
||||||
|
log.Info("IsPrimitive() == false")
|
||||||
|
}
|
||||||
|
if me.forge.Config.IsPrivate(check.GetGoPath()) {
|
||||||
|
log.Info("IsPrivate() == true")
|
||||||
|
} else {
|
||||||
|
log.Info("IsPrivate() == false")
|
||||||
|
}
|
||||||
|
if ok, compiled, err := check.IsProtobuf(); ok {
|
||||||
|
log.Info(log.Sprint("IsProtobuf() == true compiled protobuf files = ", compiled))
|
||||||
|
if err != nil {
|
||||||
|
log.Info("IsProtobuf() ERROR = ", err)
|
||||||
|
}
|
||||||
|
for _, s := range compiled {
|
||||||
|
log.Info("\tcompiled file found:", s)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
log.Info("IsProtobuf() == false")
|
||||||
|
if err != nil {
|
||||||
|
log.Info("IsProtobuf() ERROR = ", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// testNext(check)
|
||||||
|
|
||||||
|
me.found.AppendUniqueGoPath(check)
|
||||||
|
doHumanTable()
|
||||||
|
|
||||||
|
printTime("LastPull", check.Times.LastPull.AsTime())
|
||||||
|
printTime("LastUpdate", check.Times.LastUpdate.AsTime())
|
||||||
|
printTime("LastDirty", check.Times.LastDirty.AsTime())
|
||||||
|
printTime("dir mtime", check.Times.MtimeDir.AsTime())
|
||||||
|
printTime("HEAD mtime", check.Times.MtimeHead.AsTime())
|
||||||
|
printTime("Index mtime", check.Times.MtimeIndex.AsTime())
|
||||||
|
printTime("fetch", check.Times.MtimeFetch.AsTime())
|
||||||
|
printTime("last go.sum", check.Times.LastGoDep.AsTime())
|
||||||
|
printTime("last commit", check.Times.NewestCommit.AsTime())
|
||||||
|
}
|
||||||
|
|
||||||
|
func testGoRepo(check *gitpb.Repo) {
|
||||||
|
data, _ := os.ReadFile(filepath.Join(check.FullPath, "go.mod"))
|
||||||
|
log.Info(string(data))
|
||||||
|
|
||||||
|
if me.forge.FinalGoDepsCheckOk(check) {
|
||||||
|
log.Info("forge.FinalGoDepsCheck(check) worked!")
|
||||||
|
} else {
|
||||||
|
log.Info("forge.FinalGoDepsCheck(check) failed. boo.")
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func printTime(s string, t time.Time) {
|
||||||
|
now := time.Now()
|
||||||
|
dur := now.Sub(t)
|
||||||
|
if dur < (time.Hour * 24) {
|
||||||
|
log.Printf("%s mtime last changed %s\n", s, shell.FormatDuration(dur))
|
||||||
|
}
|
||||||
|
}
|
|
@ -32,19 +32,19 @@ import (
|
||||||
// actually, I'd predict some of these will probably end up 240 wide
|
// actually, I'd predict some of these will probably end up 240 wide
|
||||||
// long live good eyesight and 4K monitors!
|
// long live good eyesight and 4K monitors!
|
||||||
|
|
||||||
func doCobol() {
|
func doHumanTable() {
|
||||||
log.DaemonMode(true)
|
log.DaemonMode(true)
|
||||||
|
|
||||||
// log.Info(standardStart5("gopath", "cur name", "master", "user", "repo type"))
|
// log.Info(standardStart5("gopath", "cur name", "master", "user", "repo type"))
|
||||||
log.Info(standardStart8("repopath", "cur br", "age", "target", "master", "devel", "user", "curver", "repo type"))
|
log.Info(standardTable8("repopath", "cur br", "age", "target", "master", "devel", "user", "curver", "repo type"))
|
||||||
all := me.found.SortByFullPath()
|
all := me.found.SortByFullPath()
|
||||||
for all.Scan() {
|
for all.Scan() {
|
||||||
repo := all.Next()
|
repo := all.Next()
|
||||||
verifyPrint(repo)
|
sendRepoToTable(repo)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func standardStart5(arg1, arg2, arg3, arg4, arg5 string) string {
|
func standardTable5(arg1, arg2, arg3, arg4, arg5 string) string {
|
||||||
len1 := 40
|
len1 := 40
|
||||||
len2 := 12
|
len2 := 12
|
||||||
len3 := 12
|
len3 := 12
|
||||||
|
@ -74,7 +74,7 @@ func standardStart5(arg1, arg2, arg3, arg4, arg5 string) string {
|
||||||
return fmt.Sprintf(s, arg1, arg2, arg3, arg4, arg5)
|
return fmt.Sprintf(s, arg1, arg2, arg3, arg4, arg5)
|
||||||
}
|
}
|
||||||
|
|
||||||
func standardStart8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 string) string {
|
func standardTable8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 string) string {
|
||||||
len1 := 40
|
len1 := 40
|
||||||
len2 := 12
|
len2 := 12
|
||||||
len3 := 6
|
len3 := 6
|
||||||
|
@ -130,24 +130,11 @@ func standardStart8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 string)
|
||||||
return fmt.Sprintf(s, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
|
return fmt.Sprintf(s, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
|
||||||
}
|
}
|
||||||
|
|
||||||
func verifyPrint(repo *gitpb.Repo) {
|
func sendRepoToTable(repo *gitpb.Repo) {
|
||||||
var end string
|
var end string
|
||||||
if repo.IsDirty() {
|
if repo.IsDirty() {
|
||||||
end += "(dirty) "
|
end += "(dirty) "
|
||||||
}
|
}
|
||||||
// s := make(map[string]string)
|
|
||||||
/*
|
|
||||||
if !verify(repo, s) {
|
|
||||||
log.Info("going to delete", repo.GetGoPath())
|
|
||||||
if argv.Fix {
|
|
||||||
me.forge.DeleteByGoPath(repo.GetGoPath())
|
|
||||||
me.forge.Repos.ConfigSave()
|
|
||||||
} else {
|
|
||||||
log.Info("need argv --fix to delete", repo.GetGoPath())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
var mhort string = repo.GetMasterVersion()
|
var mhort string = repo.GetMasterVersion()
|
||||||
var dhort string = repo.GetDevelVersion()
|
var dhort string = repo.GetDevelVersion()
|
||||||
var uhort string = repo.GetUserVersion()
|
var uhort string = repo.GetUserVersion()
|
||||||
|
@ -160,7 +147,7 @@ func verifyPrint(repo *gitpb.Repo) {
|
||||||
|
|
||||||
age := shell.FormatDuration(repo.NewestAge())
|
age := shell.FormatDuration(repo.NewestAge())
|
||||||
|
|
||||||
start := standardStart8(gopath, cname, age, thort, mhort, dhort, uhort, chort, rtype)
|
start := standardTable8(gopath, cname, age, thort, mhort, dhort, uhort, chort, rtype)
|
||||||
|
|
||||||
if me.forge.Config.IsReadOnly(repo.GetGoPath()) {
|
if me.forge.Config.IsReadOnly(repo.GetGoPath()) {
|
||||||
end += "(readonly) "
|
end += "(readonly) "
|
||||||
|
@ -171,46 +158,3 @@ func verifyPrint(repo *gitpb.Repo) {
|
||||||
|
|
||||||
log.Info(start, end)
|
log.Info(start, end)
|
||||||
}
|
}
|
||||||
|
|
||||||
func verify(repo *gitpb.Repo, s map[string]string) bool {
|
|
||||||
s["gopath"] = repo.GetGoPath()
|
|
||||||
s["rtype"] = repo.GetRepoType()
|
|
||||||
|
|
||||||
s["mname"] = repo.GetMasterBranchName()
|
|
||||||
if s["mname"] == "" {
|
|
||||||
log.Info("verify() no master branch name", repo.FullPath)
|
|
||||||
s["mver"] = repo.GetMasterVersion()
|
|
||||||
// return false
|
|
||||||
}
|
|
||||||
s["mver"] = repo.GetMasterVersion()
|
|
||||||
|
|
||||||
s["dname"] = repo.GetDevelBranchName()
|
|
||||||
if s["dname"] == "" {
|
|
||||||
log.Info("verify() no devel branch name", repo.GetGoPath())
|
|
||||||
// return false
|
|
||||||
}
|
|
||||||
s["uname"] = repo.GetUserBranchName()
|
|
||||||
if s["uname"] == "" {
|
|
||||||
log.Info("verify() no user branch name", repo.GetGoPath())
|
|
||||||
// return false
|
|
||||||
}
|
|
||||||
s["cname"] = repo.GetCurrentBranchName()
|
|
||||||
|
|
||||||
s["mver"] = repo.GetMasterVersion()
|
|
||||||
if s["mver"] == "" {
|
|
||||||
log.Info("verify() no master branch name", repo.FullPath, repo.GetMasterBranchName())
|
|
||||||
}
|
|
||||||
s["dver"] = repo.GetDevelVersion()
|
|
||||||
if s["dver"] == "" {
|
|
||||||
log.Info("verify() no devel branch name", repo.GetGoPath(), repo.GetDevelBranchName())
|
|
||||||
}
|
|
||||||
s["uver"] = repo.GetUserVersion()
|
|
||||||
if s["uver"] == "" {
|
|
||||||
log.Info("verify() no user branch name", repo.GetGoPath(), repo.GetUserBranchName())
|
|
||||||
}
|
|
||||||
s["cver"] = repo.GetCurrentBranchVersion()
|
|
||||||
s["tver"] = repo.GetTargetVersion()
|
|
||||||
s["url"] = repo.URL
|
|
||||||
|
|
||||||
return true
|
|
||||||
}
|
|
18
main.go
18
main.go
|
@ -70,7 +70,7 @@ func main() {
|
||||||
me.forge = forgepb.Init()
|
me.forge = forgepb.Init()
|
||||||
me.found = new(gitpb.Repos)
|
me.found = new(gitpb.Repos)
|
||||||
argv.Checkout.User.findRepos()
|
argv.Checkout.User.findRepos()
|
||||||
doCobol()
|
doHumanTable()
|
||||||
okExit("")
|
okExit("")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ func main() {
|
||||||
me.forge = forgepb.Init()
|
me.forge = forgepb.Init()
|
||||||
me.found = new(gitpb.Repos)
|
me.found = new(gitpb.Repos)
|
||||||
argv.Checkout.Devel.findRepos()
|
argv.Checkout.Devel.findRepos()
|
||||||
doCobol()
|
doHumanTable()
|
||||||
okExit("")
|
okExit("")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ func main() {
|
||||||
me.forge = forgepb.Init()
|
me.forge = forgepb.Init()
|
||||||
me.found = new(gitpb.Repos)
|
me.found = new(gitpb.Repos)
|
||||||
argv.Checkout.Master.findRepos()
|
argv.Checkout.Master.findRepos()
|
||||||
doCobol()
|
doHumanTable()
|
||||||
}
|
}
|
||||||
log.Info("make 'user' the default here?")
|
log.Info("make 'user' the default here?")
|
||||||
okExit("")
|
okExit("")
|
||||||
|
@ -101,7 +101,7 @@ func main() {
|
||||||
doCheckDirtyAndConfigSave()
|
doCheckDirtyAndConfigSave()
|
||||||
me.found = new(gitpb.Repos)
|
me.found = new(gitpb.Repos)
|
||||||
findDirty()
|
findDirty()
|
||||||
doCobol()
|
doHumanTable()
|
||||||
okExit("")
|
okExit("")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,6 +110,12 @@ func main() {
|
||||||
okExit("")
|
okExit("")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if argv.Show != "" {
|
||||||
|
repo := me.forge.FindByGoPath(argv.Show)
|
||||||
|
HumanPrintRepo(repo)
|
||||||
|
okExit("")
|
||||||
|
}
|
||||||
|
|
||||||
if argv.GitPull != nil {
|
if argv.GitPull != nil {
|
||||||
argv.GitPull.findRepos()
|
argv.GitPull.findRepos()
|
||||||
doGitPull()
|
doGitPull()
|
||||||
|
@ -125,7 +131,7 @@ func main() {
|
||||||
if argv.List != nil {
|
if argv.List != nil {
|
||||||
argv.List.findRepos()
|
argv.List.findRepos()
|
||||||
// print out the repos
|
// print out the repos
|
||||||
doCobol()
|
doHumanTable()
|
||||||
okExit("patches")
|
okExit("patches")
|
||||||
}
|
}
|
||||||
if argv.Patch != nil {
|
if argv.Patch != nil {
|
||||||
|
@ -151,7 +157,7 @@ func main() {
|
||||||
// nothing else was specified to be done,
|
// nothing else was specified to be done,
|
||||||
// then just list the table to stdout
|
// then just list the table to stdout
|
||||||
if gui.NoGui() {
|
if gui.NoGui() {
|
||||||
doCobol()
|
doHumanTable()
|
||||||
okExit("")
|
okExit("")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@ func submitPatchesBox(box *gui.Node) *patchSummary {
|
||||||
}
|
}
|
||||||
if IsAnythingDirty() {
|
if IsAnythingDirty() {
|
||||||
log.Info("You can't apply patches when repos are dirty")
|
log.Info("You can't apply patches when repos are dirty")
|
||||||
doCobol()
|
doHumanTable()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -112,7 +112,7 @@ func submitPatchesBox(box *gui.Node) *patchSummary {
|
||||||
}
|
}
|
||||||
if IsAnythingDirty() {
|
if IsAnythingDirty() {
|
||||||
log.Info("You can't apply patches when repos are dirty")
|
log.Info("You can't apply patches when repos are dirty")
|
||||||
doCobol()
|
doHumanTable()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
applyPatchset(pset)
|
applyPatchset(pset)
|
||||||
|
|
|
@ -115,7 +115,7 @@ func (r *repoWindow) repoMenu() *gui.Node {
|
||||||
r.Disable()
|
r.Disable()
|
||||||
if IsAnythingDirty() {
|
if IsAnythingDirty() {
|
||||||
log.Info("You can't apply patches when repos are dirty")
|
log.Info("You can't apply patches when repos are dirty")
|
||||||
doCobol()
|
doHumanTable()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if !r.mergeAllUserToDevel() {
|
if !r.mergeAllUserToDevel() {
|
||||||
|
|
Loading…
Reference in New Issue