diff options
| author | Jeff Carr <[email protected]> | 2025-10-05 06:11:57 -0500 | 
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-05 06:11:57 -0500 | 
| commit | c27727c8e0111f4830ac365614a0de7198314306 (patch) | |
| tree | 708a97fe4ac3d72101f88e398a86a9e74a74ae8e | |
| parent | 44c1fcc9c316636fdc4f52f11ee3eb8045cdfcd1 (diff) | |
s/GoPath/Namespace/v0.25.57
| -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()  	}  | 
