diff --git a/doc/todo/forget_dead_keys.mdwn b/doc/todo/forget_dead_keys.mdwn index 64adc59a79..c9447666ae 100644 --- a/doc/todo/forget_dead_keys.mdwn +++ b/doc/todo/forget_dead_keys.mdwn @@ -22,6 +22,4 @@ tree as well, but now it's getting complicated indeed. > scrubbed from the branch. In any case a key is probably referred to in > the master branch too. > -> It's still useful to implement this, just to reduce branch size. - -[[!tag confirmed]] +> It'd still be useful to implement this, just to reduce branch size. diff --git a/doc/todo/forget_dead_keys/comment_1_e4c7db734087dc4c2f6b86bb774136fd._comment b/doc/todo/forget_dead_keys/comment_1_e4c7db734087dc4c2f6b86bb774136fd._comment new file mode 100644 index 0000000000..49daf1a220 --- /dev/null +++ b/doc/todo/forget_dead_keys/comment_1_e4c7db734087dc4c2f6b86bb774136fd._comment @@ -0,0 +1,27 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 1""" + date="2022-04-05T18:39:44Z" + content=""" +Took a look at implementing this, and found a challenging problem. +A TransitionCalculator for this would need a way to check if a given key is +dead. Which means that the TransitionCalculator would need to run in Annex, +and read the location log for the key in order to decide whether to keep +a log file associated with that key. + +That would make this transition be a lot slower to calculate than +transitions are now -- currently transitions only need the content of the +file they are acting on, and information that can be looked up before +starting like the TrustMap. This new transition would be doing a lot of +git-annex branch queries. + +The other problem is that, if a key is dead, the location log for it ought +to be removed by the transition. But then calculating transitions for other +log files associated with that key would not be able to read the location +log to know it's dead. + +Just caching in memory what dead keys have had their location logs removed +would not necessarily be enough either -- if a clone added information to a +log file associated with a dead key, then on merge from that clone, if +the transition is re-run it would no longer know that the key was dead. +"""]]