summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-09-26 19:35:21 -0500
committerJeff Carr <[email protected]>2025-09-26 19:35:21 -0500
commit5cfc8d38505a1f17c14cebef8f8e1b393f799dda (patch)
tree35f6f14e5b8b9d74ba6ef82937fd87fea89e1936
parent3510ad9cda8f4f5654260863469f7aa723b5beb6 (diff)
pass back err from Reload()v0.0.139
-rw-r--r--reload.go10
-rw-r--r--reloadMtime.go14
2 files changed, 12 insertions, 12 deletions
diff --git a/reload.go b/reload.go
index f1ef298..bd6844f 100644
--- a/reload.go
+++ b/reload.go
@@ -19,22 +19,22 @@ func reposChanged(b bool) {
// returns true based on os.Stat() only checks
// seems to kinda work ok. goal is to avoid os.Exec() here for speed
// this might be the 1 place where libgit2 would be a good idea
-func (repo *Repo) HasChanged() bool {
+func (repo *Repo) HasChanged() error {
return repo.DidRepoChange()
}
// does a fast check with os.Stat()
// if the mtimes changed, does a full repo.ReloadForce()
func (repo *Repo) ReloadCheck() error {
- if !repo.DidRepoChange() {
+ err := repo.DidRepoChange()
+ if err == nil {
return nil
}
reposChanged(true)
- err := repo.ReloadForce()
- if err != nil {
+ if err := repo.ReloadForce(); err != nil {
return err
}
- return log.Errorf("gitpb.ReloadCheck() detected a change in the repo")
+ return err
}
// TODO: clean this up more, but it is working now more or less
diff --git a/reloadMtime.go b/reloadMtime.go
index 99869a7..e3ed1f3 100644
--- a/reloadMtime.go
+++ b/reloadMtime.go
@@ -189,18 +189,18 @@ func (repo *Repo) reloadMtimes() bool {
return changed
}
-func (repo *Repo) DidRepoChange() bool {
+func (repo *Repo) DidRepoChange() error {
if repo.Times == nil {
repo.Times = new(GitTimes)
}
if repo.didFileChange(".git/HEAD", repo.Times.MtimeHead) {
- return true
+ return log.Errorf(".git/HEAD changed")
}
if repo.didFileChange(".git/index", repo.Times.MtimeIndex) {
- return true
+ return log.Errorf(".git/index changed")
}
if repo.didFileChange(".git/config", repo.Times.MtimeConfig) {
- return true
+ return log.Errorf(".git/config changed")
}
if repo.didFileChange(".git", repo.Times.MtimeDir) {
// todo: do something with CheckDirty()
@@ -208,13 +208,13 @@ func (repo *Repo) DidRepoChange() bool {
}
if repo.Times.LastUpdate == nil {
log.Info("repo.Reload() was never run")
- return true
+ return log.Errorf("Reload() ran for the first time")
} else {
if repo.Times.LastUpdate.Seconds < repo.Times.MtimeHead.Seconds {
log.Info("SHOULD RUN Reload() here", repo.Times.MtimeHead.Seconds-repo.Times.LastUpdate.Seconds, "secs diff")
- return true
+ return log.Errorf("Reload() time skew on .git/HEAD")
}
}
// log.Info("DidRepoChange() is false", repo.FullPath)
- return false
+ return nil
}