diff options
| -rw-r--r-- | argv.go | 2 | ||||
| -rw-r--r-- | config.go | 12 | ||||
| -rw-r--r-- | debug.go | 2 | ||||
| -rw-r--r-- | doBuild.go | 8 | ||||
| -rw-r--r-- | doClean.go | 26 | ||||
| -rw-r--r-- | doCommit.go | 2 | ||||
| -rw-r--r-- | doConfig.go | 7 | ||||
| -rw-r--r-- | doFind.go | 8 | ||||
| -rw-r--r-- | doMerge.go | 10 | ||||
| -rw-r--r-- | windowReposFix.go | 36 | ||||
| -rw-r--r-- | windowReposNew.go | 22 | ||||
| -rw-r--r-- | windowViewRepoPatches.go | 10 |
12 files changed, 67 insertions, 78 deletions
@@ -154,7 +154,7 @@ type ConfigCmd struct { type ConfigAddCmd struct { Path string `arg:"--path" help:"absolute path of the git repo"` - GoPath string `arg:"--gopath" help:"GO path of the git repo"` + Namespace string `arg:"--namespace" help:"namespace of the git repo"` Directory bool `arg:"--directory" help:"repo is a directory to match against"` ReadOnly bool `arg:"--readonly" help:"repo is readonly"` Writable bool `arg:"--writable" help:"repo is writable"` @@ -4,8 +4,6 @@ package main // data to and from config files import ( - "fmt" - "go.wit.com/lib/config" "go.wit.com/lib/protobuf/forgepb" "go.wit.com/log" @@ -24,13 +22,3 @@ func setForgeMode(fmode forgepb.ForgeMode) { config.SetChanged("forge", true) me.forge.Config.ConfigSave() } - -func sampleConfig(all *forgepb.ForgeConfigs) { - new1 := new(forgepb.ForgeConfig) - new1.GoPath = "go.wit.com" - new1.Writable = true - new1.Directory = true - all.Append(new1) - - fmt.Println("first time user. adding an example config file with", len(all.ForgeConfigs), "repos") -} @@ -50,7 +50,7 @@ func debug() { if me.repoWritableB != nil { found := gitpb.NewRepos() for repo := range me.forge.Repos.IterByFullPath() { - if me.forge.Config.IsReadOnly(repo.GetGoPath()) { + if me.forge.Config.IsReadOnly(repo.Namespace) { continue } @@ -19,12 +19,12 @@ func doBuild() error { gopath := argv.Dev.Build - repo := me.forge.FindByGoPath(gopath) + repo := me.forge.Repos.FindByNamespace(gopath) if repo == nil { return fmt.Errorf("rep not found: %s", gopath) } if err := me.forge.Build(repo, v); err != nil { - log.Warn("Build failed:", repo.GetGoPath(), err) + log.Warn("Build failed:", repo.Namespace, err) return err } return nil @@ -37,12 +37,12 @@ func doInstall() error { } gopath := argv.Dev.Install - repo := me.forge.FindByGoPath(gopath) + repo := me.forge.Repos.FindByNamespace(gopath) if repo == nil { return fmt.Errorf("rep not found: %s", gopath) } if err := me.forge.Install(repo, v); err != nil { - log.Warn("Install failed", repo.GetGoPath(), err) + log.Warn("Install failed", repo.Namespace, err) return err } return nil @@ -40,7 +40,7 @@ func doResetRepo(repo *gitpb.Repo) error { } } } else { - log.Info(repo.GetGoPath(), err) + log.Info(repo.Namespace, err) } } @@ -148,7 +148,7 @@ func doRepoCleanDevel(repo *gitpb.Repo) error { return log.Errorf("%s is dirty:", repo.GetFullPath()) } if err := justDeleteTheDevelBranchAlready(repo); err != nil { - log.Info("justDeleteTheDevel() err", repo.GetGoPath(), err) + log.Info("justDeleteTheDevel() err", repo.Namespace, err) if argv.Clean.Fix != nil { bname := repo.GetDevelBranchName() checkPatchIds(repo, repo.GetDevelBranchName(), repo.GetMasterBranchName()) @@ -214,7 +214,7 @@ func doRepoCleanUser(repo *gitpb.Repo) error { if b1 == 0 { // every user branch exists in devel. delete user branch cmd := []string{"git", "branch", "-D", bruser} - // log.Info("USER IS IN DEVEL", repo.GetGoPath(), cmd) + // log.Info("USER IS IN DEVEL", repo.Namespace, cmd) _, err := repo.RunVerboseOnError(cmd) return err } @@ -232,7 +232,7 @@ func doRepoCleanUser(repo *gitpb.Repo) error { } if b1 == 0 { cmd := []string{"git", "branch", "-D", bruser} - // log.Info("USER IS IN DEVEL", repo.GetGoPath(), cmd) + // log.Info("USER IS IN DEVEL", repo.Namespace, cmd) _, err := repo.RunVerboseOnError(cmd) return err } @@ -249,7 +249,7 @@ func justDeleteTheDevelBranchAlready(repo *gitpb.Repo) error { branch := repo.GetDevelBranchName() remote := filepath.Join("origin", branch) - if me.forge.Config.IsReadOnly(repo.GetGoPath()) { + if me.forge.Config.IsReadOnly(repo.Namespace) { if repo.IsDevelRemote() { // just make sure the remote & local branches are the same return repo.DeleteLocalDevelBranch() @@ -265,12 +265,12 @@ func justDeleteTheDevelBranchAlready(repo *gitpb.Repo) error { } if b1 == 0 { cmd := []string{"git", "branch", "-D", repo.GetDevelBranchName()} - // log.Info("DEVEL IS IN REMOTE", repo.GetGoPath(), cmd) + // log.Info("DEVEL IS IN REMOTE", repo.Namespace, cmd) _, err := repo.RunVerboseOnError(cmd) return err } cmd := []string{"git", "push"} - log.Info("DEVEL LOCAL NEEDS GIT PUSH TO REMOTE", repo.GetGoPath(), cmd) + log.Info("DEVEL LOCAL NEEDS GIT PUSH TO REMOTE", repo.Namespace, cmd) err = repo.RunVerbose(cmd) return err } @@ -284,12 +284,12 @@ func justDeleteTheDevelBranchAlready(repo *gitpb.Repo) error { } if b1 == 0 { cmd := []string{"git", "branch", "-D", repo.GetDevelBranchName()} - // log.Info("DEVEL IS IN REMOTE", repo.GetGoPath(), cmd) + // log.Info("DEVEL IS IN REMOTE", repo.Namespace, cmd) _, err := repo.RunVerboseOnError(cmd) return err } cmd := []string{"git", "merge something somehow"} - log.Info("devel local, remote and master branches are wrong", repo.GetGoPath(), cmd, b1) + log.Info("devel local, remote and master branches are wrong", repo.Namespace, cmd, b1) // _, err := repo.RunVerbose(cmd) return nil } @@ -298,15 +298,15 @@ func doGitReset() { all := me.forge.Repos.SortByFullPath() for all.Scan() { repo := all.Next() - if me.forge.Config.IsReadOnly(repo.GetGoPath()) { - // log.Info("is readonly", repo.GetGoPath()) + if me.forge.Config.IsReadOnly(repo.Namespace) { + // log.Info("is readonly", repo.Namespace) if repo.CheckDirty() { - log.Info("is readonly and dirty", repo.GetGoPath()) + log.Info("is readonly and dirty", repo.Namespace) cmd := []string{"git", "reset", "--hard"} repo.RunRealtime(cmd) } } else { - // log.Info("is not readonly", repo.GetGoPath()) + // log.Info("is not readonly", repo.Namespace) } } } diff --git a/doCommit.go b/doCommit.go index d3425fe..5539c54 100644 --- a/doCommit.go +++ b/doCommit.go @@ -14,7 +14,7 @@ func doCommit() error { found := me.forge.CheckDirty() var newpatches bool for repo := range found.IterAll() { - log.Info("do a commit on repo", repo.GetGoPath()) + log.Info("do a commit on repo", repo.GetNamespace()) if err := doCommitRepo(repo); err != nil { badExit(err) } diff --git a/doConfig.go b/doConfig.go index 6c874be..d5a97b0 100644 --- a/doConfig.go +++ b/doConfig.go @@ -34,10 +34,11 @@ func doConfig() { // try to add, then save config and exit if argv.Config.Add != nil { - log.Info("going to add a new repo", argv.Config.Add.GoPath) - deleteGoPath(me.forge, argv.Config.Add.GoPath) + log.Info("going to add a new repo", argv.Config.Add.Namespace) + deleteGoPath(me.forge, argv.Config.Add.Namespace) new1 := forgepb.ForgeConfig{ - GoPath: argv.Config.Add.GoPath, + Namespace: argv.Config.Add.Namespace, + GoPath: argv.Config.Add.Namespace, Writable: argv.Config.Add.Writable, ReadOnly: argv.Config.Add.ReadOnly, Private: argv.Config.Add.Private, @@ -69,7 +69,7 @@ func findRepos() *gitpb.Repos { func findPrivate() *gitpb.Repos { found := gitpb.NewRepos() for repo := range me.forge.Repos.IterByFullPath() { - if me.forge.Config.IsPrivate(repo.GetGoPath()) { + if me.forge.Config.IsPrivate(repo.Namespace) { found.AppendByFullPath(repo) } } @@ -84,7 +84,7 @@ func findMine() *gitpb.Repos { // log.Printf("get mine %s\n", me.forge.GetGoSrc()) for repo := range me.forge.Repos.IterByFullPath() { - if me.forge.Config.IsWritable(repo.GetGoPath()) { + if me.forge.Config.IsWritable(repo.Namespace) { found.AppendByFullPath(repo) } } @@ -98,7 +98,7 @@ func findFavorites() *gitpb.Repos { // log.Printf("get favorites %s\n", me.forge.GetGoSrc()) for repo := range me.forge.Repos.IterByFullPath() { - if me.forge.Config.IsFavorite(repo.GetGoPath()) { + if me.forge.Config.IsFavorite(repo.Namespace) { found.AppendByFullPath(repo) } } @@ -168,7 +168,7 @@ func findReposWithPatches() *gitpb.Repos { } // ignore read-only repos for checks below here - if me.forge.Config.IsReadOnly(repo.GetGoPath()) { + if me.forge.Config.IsReadOnly(repo.Namespace) { continue } @@ -150,7 +150,7 @@ func doMergeDevel() (*gitpb.Repos, error) { found := findMergeToDevel() for repo := range found.IterAll() { if _, err := repo.MergeToDevel(); err != nil { - log.Info("merge from user 2 failed", repo.GetGoPath(), err) + log.Info("merge from user 2 failed", repo.Namespace, err) // err := log.Errorf("merge from user failed") // log.Info(strings.Join(r.Stdout, "\n")) // log.Info(strings.Join(r.Stderr, "\n")) @@ -165,7 +165,7 @@ func doMergeDevel() (*gitpb.Repos, error) { } log.Infof("%s starting git merge\n", repo.FullPath) if repo.CheckoutDevel() { - log.Info("checkout devel failed", repo.GetGoPath()) + log.Info("checkout devel failed", repo.Namespace) err = log.Errorf("checkout devel failed") badExit(err) } @@ -175,7 +175,7 @@ func doMergeDevel() (*gitpb.Repos, error) { log.Info("MERGE HASHES TO DEVEL:", i, hash) } if _, err := repo.MergeToDevel(); err != nil { - log.Info("merge from user 1 failed", repo.GetGoPath(), err) + log.Info("merge from user 1 failed", repo.Namespace, err) err = log.Errorf("merge from user 1 failed") // log.Info(strings.Join(r.Stdout, "\n")) // log.Info(strings.Join(r.Stderr, "\n")) @@ -191,7 +191,7 @@ func doMergeDevel() (*gitpb.Repos, error) { /* func repoMergeToDevel(repo *gitpb.Repo) error { if _, err := repo.MergeToDevel(); err != nil { - log.Info("merge from user 3 failed", repo.GetGoPath(), err) + log.Info("merge from user 3 failed", repo.Namespace, err) // err := log.Errorf("merge from user failed") // log.Info(strings.Join(r.Stdout, "\n")) // log.Info(strings.Join(r.Stderr, "\n")) @@ -210,7 +210,7 @@ func doMergeMaster() (*gitpb.Repos, error) { found := findMergeToMaster() for repo := range found.IterAll() { if _, err := repo.MergeToMaster(); err != nil { - log.Info("merge from devel 1 failed", repo.GetGoPath(), err) + log.Info("merge from devel 1 failed", repo.Namespace, err) err = log.Errorf("merge from devel 1 failed") badExit(err) } diff --git a/windowReposFix.go b/windowReposFix.go index c9a87e1..0d3d5a1 100644 --- a/windowReposFix.go +++ b/windowReposFix.go @@ -51,10 +51,10 @@ func makeReposWin() *stdReposTableWin { mname := repo.GetMasterBranchName() dname := repo.GetDevelBranchName() if dname != repo.GetCurrentBranchName() { - log.Info("Repo is not on the devel branch", repo.GetGoPath()) + log.Info("Repo is not on the devel branch", repo.Namespace) } cmd := []string{"git", "merge", mname} - log.Info(repo.GetGoPath(), cmd) + log.Info(repo.Namespace, cmd) repo.RunVerbose(cmd) } }) @@ -91,13 +91,13 @@ func makeReposWin() *stdReposTableWin { // git push origin --delete jcarr os.Setenv("GIT_TERMINAL_PROMPT", "0") cmd := []string{"git", "push", "origin", "--delete", brname} - log.Info("You may want to run:", repo.GetGoPath(), cmd) + log.Info("You may want to run:", repo.Namespace, cmd) repo.RunVerbose(cmd) os.Unsetenv("GIT_TERMINAL_PROMPT") // git branch --delete --remote origin/jcarr cmd = []string{"git", "branch", "--delete", "--remote", "origin/" + brname} - log.Info(repo.GetGoPath(), cmd) + log.Info(repo.Namespace, cmd) repo.RunVerbose(cmd) repo.ReloadCheck() } @@ -138,10 +138,10 @@ func makeDevelBehindMaster(pb *gitpb.Repos) *gitpb.ReposTable { t := pb.NewTable("testDirty") t.NewUuid() sf := t.AddStringFunc("repo", func(r *gitpb.Repo) string { - return r.GetGoPath() + return r.Namespace }) sf.Custom = func(r *gitpb.Repo) { - log.Info("merge master into devel here", r.GetGoPath()) + log.Info("merge master into devel here", r.Namespace) } t.AddTimeFunc("age", func(repo *gitpb.Repo) time.Time { return repo.NewestTime() @@ -187,26 +187,26 @@ func makeHackModeWindow(stdwin *stdReposTableWin) { for all.Scan() { repo := all.Next() if repo.CheckDirty() { - log.Info("repo is dirty", repo.GetGoPath()) + log.Info("repo is dirty", repo.Namespace) continue } - log.Info("Starting merge on", repo.GetGoPath()) + log.Info("Starting merge on", repo.Namespace) if repo.CheckoutDevel() { - log.Info("checkout devel failed", repo.GetGoPath()) + log.Info("checkout devel failed", repo.Namespace) return } if _, err := repo.MergeToDevel(); err != nil { - log.Info("merge from user failed", repo.GetGoPath(), err) + log.Info("merge from user failed", repo.Namespace, err) // log.Info(strings.Join(r.Stdout, "\n")) // log.Info(strings.Join(r.Stderr, "\n")) return } if repo.CheckoutMaster() { - log.Info("checkout master failed", repo.GetGoPath()) + log.Info("checkout master failed", repo.Namespace) return } if _, err := repo.MergeToMaster(); err != nil { - log.Info("merge from devel failed", repo.GetGoPath(), err) + log.Info("merge from devel failed", repo.Namespace, err) return } @@ -308,12 +308,12 @@ func develRemoteProblem() *gitpb.Repos { repo := all.Next() brname := repo.GetDevelBranchName() if !repo.IsBranchRemote(brname) { - // log.Info("repo does not have remote devel branch", repo.GetGoPath()) + // log.Info("repo does not have remote devel branch", repo.Namespace) continue } lhash := repo.GetLocalHash(brname) rhash := repo.GetRemoteHash(brname) - // log.Info(lhash, rhash, repo.GetGoPath()) + // log.Info(lhash, rhash, repo.Namespace) if lhash == "" || rhash == "" { // something is wrong if either of these are blank found.AppendByFullPath(repo) @@ -335,12 +335,12 @@ func masterRemoteProblem() *gitpb.Repos { repo := all.Next() brname := repo.GetMasterBranchName() if !repo.IsBranchRemote(brname) { - // log.Info("repo does not have remote devel branch", repo.GetGoPath()) + // log.Info("repo does not have remote devel branch", repo.Namespace) continue } lhash := repo.GetLocalHash(brname) rhash := repo.GetRemoteHash(brname) - // log.Info(lhash, rhash, repo.GetGoPath()) + // log.Info(lhash, rhash, repo.Namespace) if lhash == "" || rhash == "" { // something is wrong if either of these are blank found.AppendByFullPath(repo) @@ -375,10 +375,10 @@ func makeWritableWindow(pb *gitpb.Repos) (*gadgets.GenericWindow, *gitpb.ReposTa t.SetParent(tbox) sf := t.AddStringFunc("repo", func(r *gitpb.Repo) string { - return r.GetGoPath() + return r.Namespace }) sf.Custom = func(r *gitpb.Repo) { - log.Info("do button click on", r.GetGoPath()) + log.Info("do button click on", r.Namespace) } t.AddTimeFunc("age", func(repo *gitpb.Repo) time.Time { return repo.NewestTime() diff --git a/windowReposNew.go b/windowReposNew.go index eea3a02..d2d8bfa 100644 --- a/windowReposNew.go +++ b/windowReposNew.go @@ -58,7 +58,7 @@ func makeReposWinNew() *gadgets.GenericWindow { // display the protobuf t = addWindowPB(insertWin, found) f := func(repo *gitpb.Repo) { - log.Info("got to ReposTable.Custom() id =", repo.GetGoPath(), repo.GetCurrentVersion()) + log.Info("got to ReposTable.Custom() id =", repo.Namespace, repo.GetCurrentVersion()) } t.Custom(f) log.Info("table has uuid", t.GetUuid()) @@ -75,7 +75,7 @@ func makeReposWinNew() *gadgets.GenericWindow { // make the window for the first time t = addWindowPB(insertWin, found) f := func(repo *gitpb.Repo) { - log.Info("got to ReposTable.Custom() id =", repo.GetGoPath(), repo.GetCurrentVersion()) + log.Info("got to ReposTable.Custom() id =", repo.Namespace, repo.GetCurrentVersion()) } t.Custom(f) log.Info("table has uuid", t.GetUuid()) @@ -90,7 +90,7 @@ func makeReposWinNew() *gadgets.GenericWindow { all := me.forge.Repos.SortByFullPath() for all.Scan() { repo := all.Next() - if !me.forge.Config.IsFavorite(repo.GetGoPath()) { + if !me.forge.Config.IsFavorite(repo.Namespace) { continue } found.AppendByFullPath(repo) @@ -99,7 +99,7 @@ func makeReposWinNew() *gadgets.GenericWindow { // make the window for the first time t = addWindowPB(insertWin, found) f := func(repo *gitpb.Repo) { - log.Info("got to ReposTable.Custom() id =", repo.GetGoPath(), repo.GetCurrentVersion()) + log.Info("got to ReposTable.Custom() id =", repo.Namespace, repo.GetCurrentVersion()) } t.Custom(f) log.Info("table has uuid", t.GetUuid()) @@ -114,7 +114,7 @@ func makeReposWinNew() *gadgets.GenericWindow { all := me.forge.Repos.SortByFullPath() for all.Scan() { repo := all.Next() - if me.forge.Config.IsReadOnly(repo.GetGoPath()) { + if me.forge.Config.IsReadOnly(repo.Namespace) { continue } found.AppendByFullPath(repo) @@ -123,7 +123,7 @@ func makeReposWinNew() *gadgets.GenericWindow { // make the window for the first time t = addWindowPB(insertWin, found) f := func(repo *gitpb.Repo) { - log.Info("got to ReposTable.Custom() id =", repo.GetGoPath(), repo.GetCurrentVersion()) + log.Info("got to ReposTable.Custom() id =", repo.Namespace, repo.GetCurrentVersion()) } t.Custom(f) log.Info("table has uuid", t.GetUuid()) @@ -144,7 +144,7 @@ func makeReposWinNew() *gadgets.GenericWindow { // display the protobuf t = addWindowPB(insertWin, found) f := func(repo *gitpb.Repo) { - log.Info("got to ReposTable.Custom() id =", repo.GetGoPath(), repo.GetCurrentVersion()) + log.Info("got to ReposTable.Custom() id =", repo.Namespace, repo.GetCurrentVersion()) } t.Custom(f) log.Info("table has uuid", t.GetUuid()) @@ -160,10 +160,10 @@ func addWindowPB(win *gadgets.GenericWindow, pb *gitpb.Repos) *gitpb.ReposTable t.SetParent(tbox) sf := t.AddStringFunc("repo", func(r *gitpb.Repo) string { - return r.GetGoPath() + return r.Namespace }) sf.Custom = func(r *gitpb.Repo) { - log.Info("do button click on", r.GetGoPath()) + log.Info("do button click on", r.Namespace) } t.AddTimeFunc("age", func(repo *gitpb.Repo) time.Time { return repo.NewestTime() @@ -176,8 +176,8 @@ func addWindowPB(win *gadgets.GenericWindow, pb *gitpb.Repos) *gitpb.ReposTable t.AddCurrentBranchName() t.AddState() f := func(repo *gitpb.Repo) string { - log.Info("repo =", repo.GetGoPath(), repo.GetCurrentVersion()) - return repo.GetGoPath() + log.Info("repo =", repo.Namespace, repo.GetCurrentVersion()) + return repo.Namespace } t.AddButtonFunc("cur version", f) t.ShowTable() diff --git a/windowViewRepoPatches.go b/windowViewRepoPatches.go index 325ed1e..425241d 100644 --- a/windowViewRepoPatches.go +++ b/windowViewRepoPatches.go @@ -66,7 +66,7 @@ func makeRepoPatchWindow(repo *gitpb.Repo, fset []*forgepb.Patch) *repoPatchWind pw := new(repoPatchWindow) // sync.Once() - pw.win = gadgets.RawBasicWindow("Patcheset for " + repo.GetGoPath()) + pw.win = gadgets.RawBasicWindow("Patcheset for " + repo.Namespace) pw.win.Make() pw.stack = pw.win.Box().NewBox("bw vbox", false) @@ -78,7 +78,7 @@ func makeRepoPatchWindow(repo *gitpb.Repo, fset []*forgepb.Patch) *repoPatchWind grid := pw.stack.NewGrid("", 0, 0) - grid.NewLabel(repo.GetGoPath()) + grid.NewLabel(repo.Namespace) grid.NewLabel(repo.GetCurrentBranchName()) g := pw.stack.NewGroup("PatchSet List") @@ -128,8 +128,8 @@ func (r *repoPatchWindow) addPatchset(grid *gui.Node, pset *forgepb.Set) { } for repo, patches := range repomap { - log.Info(repo.GetGoPath()) - grid.NewLabel(repo.GetGoPath()) + log.Info(repo.Namespace) + grid.NewLabel(repo.Namespace) for i, p := range patches { log.Info(i, p.Filename) @@ -140,7 +140,7 @@ func (r *repoPatchWindow) addPatchset(grid *gui.Node, pset *forgepb.Set) { hash := repohash[repo] grid.NewLabel(hash) grid.NewButton("View", func() { - log.Info("todo: show patches for repo", repo.GetGoPath()) + log.Info("todo: show patches for repo", repo.Namespace) }) grid.NextRow() } |
