diff options
| author | Jeff Carr <[email protected]> | 2025-10-09 22:16:51 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-09 22:16:51 -0500 |
| commit | 8e7b9bf81e776048d9f6d0fab7a605eb4db21a2b (patch) | |
| tree | f6eedf448975c3f102e91838a2ad0f11649ad279 /reloadCheckDirty.go | |
| parent | aeb6ab30e7d4ad333a9c1a0d668f2a1290367869 (diff) | |
try to trigger dirty state corrections
Diffstat (limited to 'reloadCheckDirty.go')
| -rw-r--r-- | reloadCheckDirty.go | 15 |
1 files changed, 12 insertions, 3 deletions
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 } |
