diff --git a/README.md b/README.md index ce805de..ea4e197 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,7 @@ autotypist -This can be used to maintain git repositories +# see instead: 'forge' at: -* Scans directories looking for git repositories -* The default behavior is to use 3 branches. 'master or main', 'devel', '' -* shows tags and dirty state -* uses a GUI or the console(console display needs work) -* always wrap around 'git' -- it basically just types 'git' commands really fast +http://go.wit.com/ -Notes & Goals: - -* use a GUI that also works on the command line -* andlabs GTK gui plugin starts breaking around 200 repos - -Build / install: - -* go build go.wit.com/apps/autotypist@latest -* go install go.wit.com/apps/autotypist@latest - -Debian packages: - -* echo deb http://mirrors.wit.com/wit/ sid main > /etc/apt/sources.list.d/wit.list -* apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4A854AEAF7E0E16D -* apt update -* apt install autotypist +### This has been rewritten as forge ### diff --git a/repoview.go b/repoview.go index 55c0596..12eadf2 100644 --- a/repoview.go +++ b/repoview.go @@ -61,171 +61,18 @@ func makeRepoView() *repoWindow { r.View.ScanRepositories() - /* - r.View = repolist.AutotypistView(r.box) - - showncount := r.View.MirrorShownCount() - r.topbox.Append(showncount) - duration := r.View.MirrorScanDuration() - r.topbox.Append(duration) - */ return r } func (r *repoWindow) repoMenu() *gui.Node { // reposbox.SetExpand(false) - group1 := r.box.NewGroup("Run on all repos:") + group1 := r.box.NewGroup("") hbox := group1.Box() // hbox.Horizontal() hbox.Vertical() box2 := hbox.Box().Vertical() - /* - box2.NewButton("merge all user to devel", func() { - r.Disable() - if !r.mergeAllUserToDevel() { - return - } - r.Enable() - }) - - box2.NewButton("merge all devel to main", func() { - r.Disable() - if !r.mergeAllDevelToMain() { - return - } - r.Enable() - }) - */ - - box2.NewButton("merge it all (old)", func() { - /* - r.Disable() - if !r.mergeAllUserToDevel() { - return - } - if !r.mergeAllDevelToMain() { - return - } - r.Enable() - */ - }) - - box2.NewButton("show apps", func() { - /* - loop := me.repos.View.ReposSortByName() - for loop.Scan() { - repo := loop.Repo() - rtype := repo.Status.RepoType() - switch rtype { - case "'binary'": - // log.Info(repo.Status.Path(), "compile here. Show()") - repo.Show() - case "'library'": - // log.Info(repo.Status.Path(), "library here. Hide()") - repo.Hide() - default: - log.Info(repo.Status.Path(), "unknown type", rtype) - // repo.Hide() - } - } - */ - }) - box2.NewButton("scan now", func() { - log.Info("re-scanning now") - i, s := me.repos.View.ScanRepositories() - log.Info("re-scanning done", i, "repos in", s) - }) - - box2.NewButton("make patch set", func() { - pset, err := me.forge.MakeDevelPatchSet() - if err != nil { - log.Info("make devel patch set failed", err) - return - } - all := pset.Patches.SortByFilename() - for all.Scan() { - p := all.Next() - log.Info("read in patch:", p.Filename) - } - err = me.forge.SendPatchSet(pset) - if err != nil { - log.Info("send patch set failed", err) - return - } - }) return box2 } - -/* -func (r *repoWindow) mergeAllDevelToMain() bool { - log.Info("merge all here") - loop := me.repos.View.ReposSortByName() - for loop.Scan() { - repo := loop.Repo() - if repo.ReadOnly() { - log.Info("skipping readonly", repo.Name(), repo.State()) - continue - } - if repo.State() != "merge to main" { - log.Info("skipping. not merge to main", repo.Name(), repo.State()) - continue - } - if repo.CheckDirty() { - log.Info("skipping dirty", repo.Name(), repo.State()) - continue - } - log.Info("found", repo.Name(), repo.State()) - repo.NewScan() - if repo.Status.MergeDevelToMaster() { - log.Warn("THINGS SEEM OK fullAutomation() returned true.") - } else { - log.Warn("last repo:", repo.Name()) - log.Warn("THINGS FAILED fullAutomation() returned false") - return false - } - repo.NewScan() - } - log.Warn("EVERYTHING WORKED. with merge to master") - cmd := []string{"forge", "master"} - shell.Run(cmd) - cmd = []string{"forge", "list"} - shell.Run(cmd) - os.Exit(0) - return true -} - -func (r *repoWindow) mergeAllUserToDevel() bool { - log.Info("merge all here") - loop := me.repos.View.ReposSortByName() - for loop.Scan() { - repo := loop.Repo() - if repo.ReadOnly() { - log.Info("skipping readonly", repo.Name(), repo.State()) - continue - } - if repo.State() != "merge to devel" { - log.Info("skipping. not merge to devel", repo.Name(), repo.State()) - continue - } - if repo.CheckDirty() { - log.Info("skipping dirty", repo.Name(), repo.State()) - continue - } - log.Info("found", repo.Name(), repo.State()) - repo.NewScan() - if repo.Status.MergeUserToDevel() { - log.Warn("THINGS SEEM OK fullAutomation() returned true.") - } else { - log.Warn("last repo:", repo.Status.Path()) - log.Warn("THINGS FAILED fullAutomation() returned false") - return false - } - repo.NewScan() - } - log.Warn("EVERYTHING WORKED") - return true -} -*/