$REDO_INODE_NO_TRUST is replaced with
environment variable, that takes either
(the default one), or
mtime (new one). Check documentation’s
separate page about that option.
- Print warning message if both ifcreate and ifchange records were
discovered after the target is done.
- Skip target itself, when searching for corresponding .do
file. For example default.do must use ../default.do
instead of the self.
- Fix regression of known OODs passing since 1.3.0, that leads to
rebuilding of already built targets.
redo* process is killed, then it sends
to all his children too, properly terminating the whole job queue.
- Unexistent targets are considered always out-of-date, as it should be.
- Do not panic if
$REDO_LOGS=1 and we were unable to start the command.
- Explicitly check if
$1 target is touched and then fail.
Previously we check if
$1 was only altered.
redo-ifcreate’s targets proper relative paths to the target.
- Use .log-rec extension, instead of .log.rec, that
won’t collide with already existing .log and .rec in
- Fix possible lack of success finish message printing if any of
- Fix nasty bug with incorrect .redo/tgt.rec files renaming.
redo-cleanup now also cleans .redo/tgt.log.rec files.
- Recursive logs do not require .redo/tgt.rec existence anymore.
- Do not enable command line options not applicable to the command.
For example -j option is only applicable to
- -dry-run option is renamed to -n
- -logs option is renamed to -k
- -silent option is renamed to -s
stderr logs are kept, all environment variables, working
directory, command line arguments, start/finish times, duration,
participated PIDs, return codes are saved in corresponding
.redo/tgt.log.rec file. Some of them can be viewed with
-c option to
redo-log’s -r option allows recursive, indented
viewing of the whole redo commands invocations for the given target
in serialized way.
- Fixed possibly wrong relative path record of the dependency, when
redo commands are run in different directory from the .do.
- Fixed possible failing in
redo-sources if no .dep
- Optional compatibility (through
with either NetBSD’s bmake or GNU Make jobserver protocols, being
able to tightly integrate
goredo with the
redo-affects command appeared, that shows all targets that
will be affected by changing the specified ones.
redo-targets can optionally take list of targets to apply
the command on, to narrow the result.
redo-sources mistakenly missed .do files in the output.
redo-sources now recursively searches for all source
files, not the "first" depth level ones.
- Even more simpler statusline cleaning function.
- Fixed proper -xx and
$REDO_TRACE workability, that
previously was not applied to all targets.
- Simpler statusline cleaning function, does not leading to whitespace
junk after long lines.
- Updated dependant libraries.
- Repetitive OOD determination optimization: pass all already known to
be OOD targets to redoing targets.
- Dependency files .dep extension changed to .rec, to
reflect its recfile format nature and editors file type better
- Reduce number of file descriptors kept open (1 instead of 4) while
waiting for job slot token.
redo-cleanup has -dry-run option.
Size is stored in the state, for faster OOD detection.
goredo state files won’t work.
- Setting of
$REDO_INODE_NO_TRUST environment variable brings no
trust to file inode’s information (except for its size), forcing its
apenwarr/redo’s one behaviour more.
- Use an updated
lukechampine.com/blake3 with possibly working
arm64 macOS fix.
- Try to fix failing
lukechampine.com/blake3 on arm64 macOS.
- Fixed tests permissions in the tarball.
- Tarball uses vendor directory without
goredo and its dependencies anyway uses Go
1.12+ versions, that have vendor-ing support.
- Do not forget to save even output-less target as a dependency.
- -debug option renamed to shorter -d.
$REDO_JOBS overrided even explicitly specified
-j option. Fix that behaviour – command line options must
precede environment variables.
- BLAKE3 replaces
BLAKE2b hashing algorithm for even better performance.
- Initial tarballed release.