diff options
| author | Jeff Carr <[email protected]> | 2025-09-26 19:35:21 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-09-26 19:35:21 -0500 |
| commit | 5cfc8d38505a1f17c14cebef8f8e1b393f799dda (patch) | |
| tree | 35f6f14e5b8b9d74ba6ef82937fd87fea89e1936 | |
| parent | 3510ad9cda8f4f5654260863469f7aa723b5beb6 (diff) | |
pass back err from Reload()v0.0.139
| -rw-r--r-- | reload.go | 10 | ||||
| -rw-r--r-- | reloadMtime.go | 14 |
2 files changed, 12 insertions, 12 deletions
@@ -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 } |
