| ... | ... |
@@ -181,7 +181,7 @@ func (info *FileInfo) addChanges(oldInfo *FileInfo, changes *[]Change) {
|
| 181 | 181 |
oldStat.Rdev != newStat.Rdev || |
| 182 | 182 |
// Don't look at size for dirs, its not a good measure of change |
| 183 | 183 |
(oldStat.Size != newStat.Size && oldStat.Mode&syscall.S_IFDIR != syscall.S_IFDIR) || |
| 184 |
- oldStat.Mtim != newStat.Mtim {
|
|
| 184 |
+ getLastModification(oldStat) != getLastModification(newStat) {
|
|
| 185 | 185 |
change := Change{
|
| 186 | 186 |
Path: newChild.path(), |
| 187 | 187 |
Kind: ChangeModify, |
| ... | ... |
@@ -83,8 +83,10 @@ func ApplyLayer(dest string, layer Archive) error {
|
| 83 | 83 |
} |
| 84 | 84 |
|
| 85 | 85 |
for k, v := range modifiedDirs {
|
| 86 |
- aTime := time.Unix(v.Atim.Unix()) |
|
| 87 |
- mTime := time.Unix(v.Mtim.Unix()) |
|
| 86 |
+ lastAccess := getLastAccess(v) |
|
| 87 |
+ lastModification := getLastModification(v) |
|
| 88 |
+ aTime := time.Unix(lastAccess.Unix()) |
|
| 89 |
+ mTime := time.Unix(lastModification.Unix()) |
|
| 88 | 90 |
|
| 89 | 91 |
if err := os.Chtimes(k, aTime, mTime); err != nil {
|
| 90 | 92 |
return err |