if m["Type"] != DepTypeIfchange || m["Target"] != tgt {
continue
}
- fd, err := os.Open(path.Join(cwd, tgt))
+ ourInode, err = inodeFromFileByPath(path.Join(cwd, tgt))
if err != nil {
if os.IsNotExist(err) {
return false, nil, "", nil
}
return false, nil, "", err
}
- ourInode, err = inodeFromFile(fd)
- fd.Close()
- if err != nil {
- return false, nil, "", err
- }
theirInode, err := inodeFromRec(m)
if err != nil {
return false, nil, "", err
}
// Was $1 touched?
- if fd, err := os.Open(path.Join(cwdOrig, tgt)); err == nil {
+ if inode, err := inodeFromFileByPath(path.Join(cwdOrig, tgt)); err == nil {
if inodePrev == nil {
- fd.Close()
runErr.Err = Err1WasTouched
errs <- runErr
return
}
- inode, err := inodeFromFile(fd)
- fd.Close()
if err != nil {
runErr.Err = err
errs <- runErr
}
if inodePrev != nil {
- if fd, err := os.Open(path.Join(cwdOrig, tgt)); err == nil {
- inode, err := inodeFromFile(fd)
- fd.Close()
- if err == nil && !inode.Equals(inodePrev) {
+ if inode, err := inodeFromFileByPath(path.Join(cwdOrig, tgt)); err == nil {
+ if !inode.Equals(inodePrev) {
runErr.Err = Err1WasTouched
errs <- runErr
return