REDO-STAMP(1) | General Commands Manual | REDO-STAMP(1) |
NAME
redo-stamp - rebuild target files depending on data given on standard input
SYNOPSIS
[command] | redo-stamp
DESCRIPTION
redo(1) is a tool for building files and for rebuilding them if any of their dependencies have changed. redo-stamp, when invoked from a dofile, adds a dependency of the current redo(1) target on the data given on standard input. If the data given on standard input to redo-stamp has not changed since the last build, the current redo(1) target is not rebuilt and marked as up to date. To ensure that redo-stamp checks the current target's validity, one can use redo-always(1) to mark the current target as always out of date.
EXAMPLES
Consider the following two files all.do and b.do:
- all.do
-
#!/bin/sh
redo-ifchange b - b.do
-
#!/bin/sh
redo-always
echo 'input a line of text:' >&2
line | redo-stamp
date +%s
Invoking redo(1) in a directory with these files will build a file named b containing a timestamp. The next time redo(1) is invoked, it will only rebuild b if the output of line(1) changed since the last build. This can be verified by invoking redo(1) repeatedly and examining the timestamp b after each invocation, then changing the input to line(1), invoking redo(1) again and examining the timestamp again.
HISTORY
redo-stamp was designed by Avery Pennarun and implemented by Nils Dagsson Moskopp.
AUTHOR
redo-stamp and this man page were written by Nils Dagsson Moskopp.
COPYRIGHT
Copyright © 2014-2017 Nils Dagsson Moskopp. License AGPLv3+: GNU Affero GPL version 3 or later http://www.gnu.org/licenses/agpl-3.0.html. This is free software: you are free to create and redistribute it. There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
redo(1), redo-always(1), redo-dot(1), redo-ifchange(1), redo-ifcreate(1), redo-ood(1), redo-sources(1), redo-targets(1)
BUGS
None so far.