summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--args.go1
-rw-r--r--repolist.go37
-rw-r--r--tagWindow.go20
4 files changed, 27 insertions, 33 deletions
diff --git a/Makefile b/Makefile
index edfb08b..34fc476 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
all: build
reset
- ./autotypist
+ ./autotypist --only-me
stderr: build
echo "writing to /tmp/autotypist.log"
diff --git a/args.go b/args.go
index 0f827c7..84080c2 100644
--- a/args.go
+++ b/args.go
@@ -17,6 +17,7 @@ var args struct {
GitPull bool `arg:"--git-pull" help:"do git pull in every repository"`
CheckoutUser bool `arg:"--switch-to-user-branch" help:"switch everything to your user branch"`
CheckoutDevel bool `arg:"--switch-to-devel-branch" help:"switch everything to the devel branch"`
+ OnlyMe bool `arg:"--only-me" help:"only scan repos from ~/.config/autotypist"`
}
func init() {
diff --git a/repolist.go b/repolist.go
index 956f03a..bf27bb5 100644
--- a/repolist.go
+++ b/repolist.go
@@ -134,22 +134,22 @@ func addRepo(grid *gui.Node, path string, master string, devel string, user stri
newRepo.endBox.NewButton("show diff", func() {
me.reposwin.Disable()
- newRepo.status.XtermNohup([]string{"git diff"})
+ // newRepo.status.XtermNohup([]string{"git diff"})
+ newRepo.status.Xterm("git diff; bash")
me.reposwin.Enable()
})
newRepo.endBox.NewButton("commit all", func() {
me.reposwin.Disable()
// restore anything staged so everything can be reviewed
- newRepo.status.Xterm([]string{"git restore --staged ."})
- // newRepo.status.Xterm([]string{"git diff"})
- newRepo.status.Xterm([]string{"git add --all"})
- newRepo.status.XtermNohup([]string{"git diff --cached"})
- newRepo.status.Xterm([]string{"git commit -a"})
- newRepo.status.Xterm([]string{"git push"})
+ newRepo.status.RunCmd([]string{"git", "restore", "--staged", "."})
+ newRepo.status.XtermWait("git diff")
+ newRepo.status.XtermWait("git add --all")
+ newRepo.status.XtermWait("git commit -a")
+ newRepo.status.XtermWait("git push")
if newRepo.status.CheckDirty() {
// commit was not done, restore diff
- newRepo.status.Xterm([]string{"git restore --staged ."})
+ newRepo.status.RunCmd([]string{"git", "restore", "--staged", "."})
} else {
newRepo.status.Update()
newRepo.newScan()
@@ -231,13 +231,18 @@ func repolistWindow() {
me.reposgrid.NextRow()
}
- for i, path := range repostatus.ListGitDirectories() {
- // log.Info("addRepo()", i, path)
- tmp := strings.TrimPrefix(path, me.goSrcPwd.String())
- path = strings.Trim(tmp, "/")
- log.Info("addRepo()", i, path)
- addRepo(me.reposgrid, path, "master", "devel", usr.Username)
- me.reposgrid.NextRow()
+ if args.OnlyMe {
+ log.Info("not scanning everything")
+ } else {
+ log.Info("scanning everything in ~/go/src")
+ for i, path := range repostatus.ListGitDirectories() {
+ // log.Info("addRepo()", i, path)
+ tmp := strings.TrimPrefix(path, me.goSrcPwd.String())
+ path = strings.Trim(tmp, "/")
+ log.Info("addRepo()", i, path)
+ addRepo(me.reposgrid, path, "master", "devel", usr.Username)
+ me.reposgrid.NextRow()
+ }
}
}
@@ -315,7 +320,7 @@ func repoAllButtons(box *gui.Node) {
log.Info("build worked", repo.String())
} else {
log.Info("build failed", repo.String())
- go repo.status.Xterm([]string{"bash"})
+ go repo.status.Xterm("bash")
return
}
}
diff --git a/tagWindow.go b/tagWindow.go
index d5e33b8..f40aa9d 100644
--- a/tagWindow.go
+++ b/tagWindow.go
@@ -47,14 +47,7 @@ func makeTagWindow() *tagWindow {
me.autotypistWindow.Disable()
defer me.autotypistWindow.Enable()
for _, repo := range me.allrepos {
- tagsW := repo.status.TagsW
- if tagsW == nil {
- repo.status.TagWindow()
- tagsW = repo.status.TagsW
- // tagsW.Prune()
- continue
- }
- allTags := tagsW.ListAll()
+ allTags := repo.status.Tags.ListAll()
for _, t := range allTags {
log.Info("found tag:", t.TagString(), "from", repo.status.String())
}
@@ -70,26 +63,21 @@ func makeTagWindow() *tagWindow {
} else {
// continue
}
- tagsW := repo.status.TagsW
- if tagsW == nil {
- repo.status.TagWindow()
- tagsW = repo.status.TagsW
- continue
- }
+ tagsW := repo.status.Tags
tagsW.PruneSmart()
deleteTags := tagsW.List()
for _, t := range deleteTags {
tagW.grid.NewLabel(t.TagString())
tagW.grid.NewLabel(repo.status.String())
tagW.grid.NewButton("delete", func() {
- tagsW.Delete(t)
+ repo.status.DeleteTag(t)
})
tagW.grid.NextRow()
if me.autoDryRun.Checked() {
log.Info("delete tag --dry-run:", t.TagString(), "from", repo.status.String())
} else {
log.Info("Deleting tag:", t.TagString(), "from", repo.status.String())
- go tagsW.Delete(t)
+ go repo.status.DeleteTag(t)
log.Sleep(1)
}
}