REDO-ALWAYS(1)
π
REDO-ALWAYS(1) β the redo-always glow-up π
okay so bestie, welcome to the redo-always page from the General Commands Manual β it's short, it's iconic, it's giving "small but mighty" β¨
πΈ NAME
redo-always β marks the current redo target as always needing to be rebuilt π«
π¦ SYNOPSIS
redo-always
that's it. no flags, no args, no drama. periodt. π
π DESCRIPTION
so redo(1) is this whole tool for building files and then rebuilding them whenever any of their dependencies have changed β king behaviour, honestly π.
redo-always, when you invoke it from inside a dofile, adds a dependency on the current target that is literally impossible to satisfy. like, not "hard", not "eventually" β impossible π«Ά. the result? the target gets rebuilt every single time if you pass it as an argument to redo-ifchange(1). forever. no cap. π₯
β¨ EXAMPLES
okay so picture these three dofiles, all.do, b.do and c.do β a whole little ecosystem π§:
all.do
#!/bin/sh
redo-ifchange b
b.do
#!/bin/sh
redo-ifchange c
sleep 1
date +%s
c.do
#!/bin/sh
redo-always
date +%s
now if you invoke redo(1) in a directory that has these three files, it'll build a file named c containing a timestamp, and a file named b containing a timestamp that is at least one second later β.
and both b and c will always be rebuilt whenever you invoke redo(1) β because the default target all depends on b, which in turn depends on c, which is carrying that impossible-to-satisfy dependency like the main character it is ππ
π HISTORY
redo-always was designed by Avery Pennarun as part of his redo implementation, and implemented by Γlla Chiana Moskopp. collab of the century, honestly π«Άπ
π AUTHOR
redo-always and this man page were written by Γlla Chiana Moskopp. writing the tool and then writing the docs about the tool? that's called range, bestie β¨
π COPYRIGHT
Copyright Β© 2014-2016 Γlla Chiana 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 change and redistribute it. There is NO WARRANTY, to the extent permitted by law. (read that again: NO WARRANTY. absolutely none. π)
π SEE ALSO
redo(1), redo-dot(1), redo-ifchange(1), redo-ifcreate(1), redo-ood(1), redo-sources(1), redo-stamp(1), redo-targets(1) β the whole friend group, go say hi π
π BUGS
heads up bestie: redo-always may break if the target filename contains a tab or a newline. like. genuinely. don't do that π
and that's the page! this was REDO-ALWAYS(1) from the General Commands Manual β go build something and let it rebuild itself forever, you absolute icon π¦π
πΈ
π¦ where this page comes from
- arch rolling: redo-sh 4.0.7-1 Β· AGPL-3.0-or-later
- nixos 26.05: redo-sh 4.0.7
- nixpkgs unstable: redo-sh 4.0.7
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms