@anchor{Stamping}
@section Hashing and stamping
-All targets are checksummed if target's @file{ctime} differs from the
-previous one, or @env{$REDO_INODE_NO_TRUST} environment variable is set.
-@command{apenwarr/redo} gives
+All targets are checksummed if target's size, @code{ctime}/@code{mtime}
+differs from the previous one (depending on @ref{OOD, @env{$REDO_INODE_TRUST}}
+value). @command{apenwarr/redo} gives
@url{https://redo.readthedocs.io/en/latest/FAQImpl/#why-not-always-use-checksum-based-dependencies-instead-of-timestamps, many reasons}
why every time checksumming is bad, but in my opinion in practice all of
them do not apply.
@item If you really wish to produce an empty target file, just touch @file{$3}
@end itemize
-DJB's proposal with both @file{stdout} and @file{$3} gives that ability
-to control your desired behaviour. Those who do not capture
-@file{stdout} -- failed. Those who create an empty file if no
-@file{stdout} was written -- failed.
+Those who create an empty file if no @file{stdout} was written -- failed
+implementation.
redo is a tool to help people. Literally all targets can be safely
@code{redo-stamp < $3}-ed, reducing false positive out-of-dates. Of