git-annex/doc/todo/forget_dead_keys.mdwn
2022-04-05 14:52:09 -04:00

25 lines
1.2 KiB
Markdown

Make git-annex forget --drop-dead also remove log files for keys that have
been marked as dead.
This would have the benefit of reducing the size of the git-annex branch.
Also it would eliminate mention of the key in the git-annex branch's
history.
Although whether it would actually delete *all* mention of a key is a bit
hard to guarantee. Can remove all the log files that are specific to a key,
like presence and metadata and chunks and remote state. But, the export.log
refers to trees, and somewhere in a tree there could be a reference to a
dead key.
Eg, if a file was exported to a remote, and then its key marked dead, the
file could still be on the remote, and the export.log needs to keep its
reference to that tree, until some other tree is exported that deletes that
file. So this is a not very likely, but possible, way for the git-annex
branch to still mention a dead key after --drop-dead. Could rewrite the
tree as well, but now it's getting complicated indeed.
> Let's leave out the idea that all references to the dead key get
> scrubbed from the branch. In any case a key is probably referred to in
> the master branch too.
>
> It'd still be useful to implement this, just to reduce branch size.