summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
}