Subject: redo-stamp

From: "Christian G. Warden" <[email-masked]>
Date: Mon, 31 Mar 2025 12:58:20 -0500

I'm exploring switching from apenwarr's redo to goredo, and found
that one of my common conventions doesn't work.

I frequently use redo for data pipelines.  This typically involves
retrieving some data from a remote resource.  Fetching lots of data
can be time consuming.  Working with data that's an hour or a day old
if often fine.

So the convention I follow in data.csv.do looks like this:
redo-ifchange date
... fetch data > $3

And date.do looks like this:
redo-always
date +%Y%m%d | redo-stamp

When I run `redo data.csv`, data is only fetched if I haven't already
fetched data today.

If I'm doing the same analysis with data from multiple remote sources,
I'll similarly have data.csv.do include `redo-ifchange user`, where
user.do looks like:
redo-always
force active | redo-stamp

So if I change my active user, data.csv will be out of date.

I can of course generate `date` and `user` files rather than use
redo-stamp, but is there any reason to intentionally not support this
functionality?  Any other suggestions?

Thanks,
Christian