]> Cypherpunks.ru repositories - goredo.git/blobdiff - doc/faq.texi
Add goredoer container image/file
[goredo.git] / doc / faq.texi
index 7039e2a885e3e1611ba4246c619303939e8cde7c..7fc12a0efa56f119ec1e3948792d883ef5d1ae58 100644 (file)
@@ -1,12 +1,15 @@
 @node FAQ
+@cindex FAQ
 @unnumbered FAQ
 
 @anchor{Stamping}
+@cindex hashing
+@cindex 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.
@@ -14,13 +17,13 @@ them do not apply.
 @itemize
 @item Aggregate targets and willing to be out-of-date ones just must not
   produce empty output files. @command{apenwarr/*}, @command{redo-c} and
-  @command{goredo} implementations consider non existing file as an
+  @command{goredo} implementations treat non existing file as an
   out-of-date target
 @item If you really wish to produce an empty target file, just touch @file{$3}
 @end itemize
 
-Those who create an empty file if no @file{stdout} was written -- failed
-implementation.
+Those who create an empty file if no @file{stdout} was written -- are
+failed implementations.
 
 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
@@ -28,11 +31,11 @@ course, with the correct @file{stdout}/@file{$3} working and placing
 necessary results in @file{$3}, instead of just silently feeding them in
 @command{redo-stamp}.
 
-redo implementations are already automatically record -ifchange on
+redo implementations already automatically record -ifchange on
 @file{.do} files and -ifcreate on non-existing @file{.do} files. So why
 they can not record @command{redo-stamp} the same way implicitly? No,
-Zen of Python does not applicable there, because -ifchange/-ifcreate
-contradict it already.
+Zen of Python is not applicable there, because -ifchange/-ifcreate
+contradicts it already.
 
 Modern cryptographic hash algorithms and CPUs are so fast, that even all
 read and writes to or from hard drive arrays can be easily checksummed