summaryrefslogtreecommitdiff
path: root/reloadCheckDirty.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-09 22:16:51 -0500
committerJeff Carr <[email protected]>2025-10-09 22:16:51 -0500
commit8e7b9bf81e776048d9f6d0fab7a605eb4db21a2b (patch)
treef6eedf448975c3f102e91838a2ad0f11649ad279 /reloadCheckDirty.go
parentaeb6ab30e7d4ad333a9c1a0d668f2a1290367869 (diff)
try to trigger dirty state corrections
Diffstat (limited to 'reloadCheckDirty.go')
-rw-r--r--reloadCheckDirty.go15
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
}