51 lines
1.1 KiB
Go
51 lines
1.1 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) {
|
|
// always show dirty repos
|
|
if r.Status.IsDirty() {
|
|
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
|
|
}
|
|
}
|
|
|
|
// hide perfectly clean repos
|
|
if os.Getenv("AUTOTYPIST_CLEAN") == "hide" {
|
|
if r.IsPerfect() {
|
|
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()
|
|
}
|