git-annex/doc/todo/improve_unused_for_special_remotes.mdwn
2024-02-27 12:44:34 -04:00

29 lines
1.4 KiB
Markdown

A remote like the directory special remote can have objects that have not
been fully transferred to it by an interrupted copy, that linger until the
copy is re-run and the content gets fully sent to the remote. It would be
good if `git-annex unused` could find and clean up such things, like it
does for incomplete transfers into a git-annex repository.
In the directory special remote, these are files named "tmp/$key/$key".
This would need to be an extension to the remote interface to add an action
to find when a key has such a file, and an action to delete one of them.
A problem is that any such file might actually still be in the process
of being sent, perhaps from a different repository than the one where
`git-annex unused` is being run. So deleting such a file could cause that
transfer to fail. This problem seems unavoidable generally.
----
It's also possible for a special remote to get keys stored in it which
git-annex does not know about. For example, in a temporary clone of the
git-annex repository, add a new file. Send it to the special remote. Then
delete the temporary clone.
`git-annex unused --from` can't detect those keys, because it can only ask
the special remote about presence of keys that it knows about.
Might it be possible to solve both problems together? Eg, add an action
that has the special remote list all keys and partial keys present in it.
--[[Joey]]