trace(CDebug, "ifcreate: %s <- %s", fdDep.Name(), tgt)
return recfileWrite(
fdDep,
- recfile.Field{Name: "Type", Value: "ifcreate"},
+ recfile.Field{Name: "Type", Value: DepTypeIfcreate},
recfile.Field{Name: "Target", Value: tgt},
)
}
func always(fdDep *os.File) error {
trace(CDebug, "always: %s", fdDep.Name())
- return recfileWrite(fdDep, recfile.Field{Name: "Type", Value: "always"})
+ return recfileWrite(fdDep, recfile.Field{Name: "Type", Value: DepTypeAlways})
}
func stamp(fdDep, src *os.File) error {
if err != nil {
return err
}
- trace(CDebug, "stamp: %s <- %s", fdDep.Name(), hsh)
- return recfileWrite(
- fdDep,
- recfile.Field{Name: "Type", Value: "stamp"},
+ fields := []recfile.Field{
+ recfile.Field{Name: "Type", Value: DepTypeStamp},
recfile.Field{Name: "Hash", Value: hsh},
- )
+ }
+ same := StampPrev == hsh
+ if same {
+ fields = append(fields, recfile.Field{Name: "Same", Value: "true"})
+ }
+ trace(CDebug, "stamp: %s <- %s (%v)", fdDep.Name(), hsh, same)
+ return recfileWrite(fdDep, fields...)
}
func fileCtime(fd *os.File) (string, error) {
return err
}
fields := []recfile.Field{
- recfile.Field{Name: "Type", Value: "ifchange"},
+ recfile.Field{Name: "Type", Value: DepTypeIfchange},
recfile.Field{Name: "Target", Value: tgt},
recfile.Field{Name: "Ctime", Value: ts},
}
}
fields = append(fields, recfile.Field{Name: "Hash", Value: hsh})
}
- err = recfileWrite(fdDep, fields...)
- return err
+ return recfileWrite(fdDep, fields...)
}
func writeDeps(fdDep *os.File, tgts []string) error {