From 8e7b9bf81e776048d9f6d0fab7a605eb4db21a2b Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Thu, 9 Oct 2025 22:16:51 -0500 Subject: try to trigger dirty state corrections --- reloadCheckDirty.go | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'reloadCheckDirty.go') diff --git a/reloadCheckDirty.go b/reloadCheckDirty.go index 826efef..69b6e52 100644 --- a/reloadCheckDirty.go +++ b/reloadCheckDirty.go @@ -22,6 +22,15 @@ func (repo *Repo) IsDirty() bool { return repo.Dirty } +func (repo *Repo) SmartSetState(newstate string) bool { + if newstate == repo.State { + // nothing changed + return false + } + repo.State = newstate + return true +} + // returns true if the repo is dirty // runs os.Exec('git') every time func (repo *Repo) CheckDirty() bool { @@ -38,8 +47,6 @@ func (repo *Repo) CheckDirty() bool { repo.State = "dirty" return true } - repo.State = "" - // dirty if anything but go.mod and go.sum var bad bool = false for _, line := range r.Stdout { @@ -61,7 +68,9 @@ func (repo *Repo) CheckDirty() bool { repo.Times.LastDirty = pbnow repo.Dirty = bad if bad { - repo.State = "dirty" + return repo.SmartSetState("dirty") + } else { + return repo.SmartSetState("") } return bad } -- cgit v1.2.3