From 67ac992cdaeb96da03242994e0cd86ef7b070f38 Mon Sep 17 00:00:00 2001 From: Yoshiaki SENDA Date: Fri, 29 Oct 2021 00:32:01 -0400 Subject: [PATCH 1/2] use ctime instead of mtime to detect file owner/permission change --- internal/pkg/util/util.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/internal/pkg/util/util.go b/internal/pkg/util/util.go index dda449e7..818f83a9 100644 --- a/internal/pkg/util/util.go +++ b/internal/pkg/util/util.go @@ -27,9 +27,14 @@ func DirModTime(path string) (time.Time, error) { return err } - cur := info.ModTime() + fi, err := os.Stat(path) + if err != nil { + return err + } + stat := fi.Sys().(*syscall.Stat_t) + cur := time.Unix(int64(stat.Ctim.Sec), int64(stat.Ctim.Nsec)) if cur.After(lastTime) { - lastTime = info.ModTime() + lastTime = time.Unix(int64(stat.Ctim.Sec), int64(stat.Ctim.Nsec)) } return nil From 761acf6a3aa8835f81e8eb391093bd9773aeddca Mon Sep 17 00:00:00 2001 From: Yoshiaki SENDA Date: Mon, 1 Nov 2021 06:37:25 +0000 Subject: [PATCH 2/2] symbolic links breaks filepath.Walk --- internal/pkg/util/util.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/pkg/util/util.go b/internal/pkg/util/util.go index 818f83a9..e566c737 100644 --- a/internal/pkg/util/util.go +++ b/internal/pkg/util/util.go @@ -29,7 +29,7 @@ func DirModTime(path string) (time.Time, error) { fi, err := os.Stat(path) if err != nil { - return err + return nil } stat := fi.Sys().(*syscall.Stat_t) cur := time.Unix(int64(stat.Ctim.Sec), int64(stat.Ctim.Nsec))