| package archive // import "github.com/docker/docker/pkg/archive" |
| |
| import ( |
| "os" |
| |
| "github.com/docker/docker/pkg/system" |
| ) |
| |
| func statDifferent(oldStat *system.StatT, newStat *system.StatT) bool { |
| // Note there is slight difference between the Linux and Windows |
| // implementations here. Due to https://github.com/moby/moby/issues/9874, |
| // and the fix at https://github.com/moby/moby/pull/11422, Linux does not |
| // consider a change to the directory time as a change. Windows on NTFS |
| // does. See https://github.com/moby/moby/pull/37982 for more information. |
| |
| if !sameFsTime(oldStat.Mtim(), newStat.Mtim()) || |
| oldStat.Mode() != newStat.Mode() || |
| oldStat.Size() != newStat.Size() && !oldStat.Mode().IsDir() { |
| return true |
| } |
| return false |
| } |
| |
| func (info *FileInfo) isDir() bool { |
| return info.parent == nil || info.stat.Mode().IsDir() |
| } |
| |
| func getIno(fi os.FileInfo) (inode uint64) { |
| return |
| } |
| |
| func hasHardlinks(fi os.FileInfo) bool { |
| return false |
| } |