guireleaser/hideFunction.go

82 lines
1.7 KiB
Go

package main
import (
"os"
"go.wit.com/lib/gui/repolist"
)
// like tcl/tk, use ENV variables to set display preferences
func hideFunction(r *repolist.RepoRow) {
/*
if r.GoPath() == "go.wit.com/dev/alexflint/arg" {
log.Info("found autoHideReleased() =", me.autoHideReleased.Checked())
log.Info("found alexflint/arg IsReleased() =", r.Status.IsReleased())
}
*/
// always show dirty repos
if r.Status.IsDirty() {
r.Show()
return
}
// always show repos that have not been merged ?
// if r.GoState() == "merge to devel" {
// r.Show()
// return
// }
// hide read-only repos
if os.Getenv("AUTOTYPIST_READONLY") == "hide" {
if r.Status.ReadOnly() {
// log.Info(r.Name(), "hiding read-only repo")
r.Hide()
return
} else {
// log.Info(r.Name(), "not hiding read-only repo")
}
}
// show repos with mismatched mode
// this means, if you are in "devel" mode, show all the repos that
// might be stuck on the wrong branch, like 'master' or '<username>'
if os.Getenv("AUTOTYPIST_MODE") != "" {
if !r.Status.IsCorrectMode(os.Getenv("AUTOTYPIST_MODE")) {
r.Show()
return
}
}
/*
if me.autoHideReleased.Checked() {
if r.Status.IsReleased() {
r.Hide()
return
}
}
*/
// show everything else. often this will be "unconforming" repos
// if you what those repos ignored, add these to the config file
// as read-only=true
r.Show()
}
/*
func showHideRepos(repo *repolist.RepoRow) {
if repo.GoPath() == "go.wit.com/dev/alexflint/arg" {
log.Info("found autoHideReleased() =", me.autoHideReleased.Checked())
log.Info("found alexflint/arg IsReleased() =", repo.Status.IsReleased())
}
if me.autoHideReleased.Checked() {
if repo.Status.IsReleased() {
repo.Hide()
return
}
}
repo.Show()
}
*/