git-annex/TODO-compute
2025-03-05 13:46:06 -04:00

45 lines
2 KiB
Text

* would be nice to have a way to see what computations are used by a
compute remote for a file. Put it in `whereis` output? But it's not an
url. Maybe a separate command? That would also allow querying for eg,
what files are inputs for another file.
* "getting input from <file>" message uses the original filename,
but that file might have been renamed. Would be more clear to use
whatever file in the tree currently points to the key it's getting
(what if there is not one?)
* allow git-annex enableremote with program= explicitly specified,
without checking annex.security.allowed-compute-programs
* addcomputed should honor annex.addunlocked.
* Perhaps recompute should write a new version of a file as an unlocked
file when the file is currently unlocked?
* compute on files in submodules
* recompute could ingest keys for other files than the one being
recomputed, and remember them. Then recomputing those files could just
use those keys, without re-running a computation. (Better than --others
which got removed.)
* `git-annex recompute foo bar baz`, when foo depends on bar which depends
on baz, and when baz has changed, will not recompute foo, because bar has
not changed. It then recomputes bar. So running the command again is
needed to recompute foo.
What it could do is, after it recomputes bar, notice that it already
considered foo, and revisit foo, and recompute it then. It could either
use a bloom filter to remember the files it considered but did not
compute, or it could just notice that the command line includes foo
(or includes a directory that contains foo), and then foo is not
modified.
Or it could build a DAG and traverse it, but building a DAG of a large
directory tree has its own problems.
* Should addcomputed honor annex.smallfiles? That would seem to imply
that recompute should also support recomputing non-annexed files.
Otherwise, adding a file and then recomputing it would vary in
what the content of the file is, depending on annex.smallfiles setting.