]> Cypherpunks.ru repositories - goredo.git/blobdiff - doc/features.texi
Move documentation to separate directory
[goredo.git] / doc / features.texi
diff --git a/doc/features.texi b/doc/features.texi
new file mode 100644 (file)
index 0000000..5d2b634
--- /dev/null
@@ -0,0 +1,32 @@
+@node Features
+@unnumbered Features
+
+@itemize
+
+@item explicit useful and convenient checks from @command{apenwarr/redo}:
+    @itemize
+    @item check that @file{$1} was not touched during .do execution
+    @item check that @file{stdout} and @file{$3} are not written simultaneously
+    @item check that generated target was not modified "externally" outside
+      the redo, preventing its overwriting, but continuing the build
+    @end itemize
+@item targets, dependency information and their directories are explicitly
+  synced (can be disabled, should work faster)
+@item file's change is detected by comparing its @code{ctime} and BLAKE3 hash
+@item files creation is @code{umask}-friendly (unlike @code{mkstemp()}
+    used in @command{redo-c})
+@item parallel build with jobs limit, optionally in infinite mode
+@item coloured messages (can be disabled)
+@item verbose debug messages, including out-of-date determination, PIDs,
+  lock and jobserver acquirings/releases
+@item displaying of each target's execution time
+@item each target's @file{stderr} can be prefixed with the PID
+@item optional statusline with currently running/waiting/done jobs
+@item target's @file{stderr} can be stored on the disk with
+    @url{http://cr.yp.to/libtai/tai64.html, TAI64N} timestamp prefixes
+    for each line. To convert them to localtime you can use either
+    tai64nlocal utility from @url{http://cr.yp.to/daemontools.html,
+    daemontools}, or similar one:
+    @code{go get go.cypherpunks.ru/tai64n/cmd/tai64nlocal}
+
+@end itemize